zoukankan      html  css  js  c++  java
  • ruby程序处理HTML编辑器内容只保留类似UBB的内容

    #将字符串进行UBB编码
    def ubb_encode(source_str)
    source_str.scan(/<img .*?>/)
    do |v|
    if v.match(/src=["' ].*?["' ]/) != nil
    source_str = source_str.sub(v, '[img ' + v.match(/src=["' ].*?["' ]/)[0] + '/]')
    end
    end

    source_str.scan(/<span[ ]*?.*?>/)
    do |span|
    style = span.
    match(/style=["']?.*?["' ]/).to_s
    source_str = source_str.sub(span, '[span ' + style +']')
    end
    source_str = source_str.gsub(/background-image.*?\)/,
    '')
    source_str = source_str.gsub(
    '</span>', '[/span]')
    source_str = source_str.gsub(/<strong>
    |<b>/, '[b]').gsub(/<\/strong>|<\/b>/, '[/b]')
    source_str = source_str.gsub(/<br[ ]*?.*?[\/]?>/,
    '[br/]')
    source_str = source_str.gsub(/<u>/,
    '[u]').gsub(/<\/u>/, '[/u]')
    source_str = source_str.gsub(/<em>
    |<i>/, '[i]').gsub(/<\/em>|<\/i>/, '[/i]')
    source_str = source_str.gsub(/<p>/,
    '[p]').gsub(/<\/p>/, '[/p]')
    return source_str
    end

    #将字符串进行UBB解码 不保留HTML代码
    def ubb_decode(source_str)
    source_str.gsub(/<script.*?>.*?<\/script>/,
    '').gsub(/<.*?>/, '').gsub('[', '<').gsub(']', '>').gsub('&quot;', '"')
    end
  • 相关阅读:
    Python 元类
    Rsync 基础配置
    linux shell find
    找最大的目录
    云主机的上下行带宽
    关于c3p0 ResourcePoolException: Attempted to use a closed or broken resource pool
    recover_file
    MegaCli 监控raid状态
    influxdb
    在Ubuntu 16.04如何安装Java使用apt-get的
  • 原文地址:https://www.cnblogs.com/heimirror/p/2038036.html
Copyright © 2011-2022 走看看