Python将Html转换为UBB的实例代码

发布时间:2019-11-21编辑:脚本学堂
分享一例python代码,实现将Html转换为UBB代码,用到了python正则表达式,挺不错的一个python实例,有需要的朋友参考学习下。

python将html转为UBB,完全用正则表达式实现。
可以转换html的部分标签,具体功能参见如下的python代码。

例子:
 

复制代码 代码示例:
#!/bin/python
#site:www.jb200.com
#
import re
def Html2UBB(content):
    #将html标签转为ubb标签
    pattern = re.compile( '<a href="([sS]+?)"[^>]*>([sS]+?)</a>',re.I)
    content = pattern.sub(r'[url=1]2[/url]',content)
    pattern = re.compile( '<img[^>]+src="([^"]+)"[^>]*>',re.I)
    content = pattern.sub(r'[img]1[/img]',content)
    pattern = re.compile( '<strong>([sS]+?)</strong>',re.I)
    content = pattern.sub(r'[b]1[/b]',content)
    pattern = re.compile( '<font color="([sS]+?)">([sS]+?)</font>',re.I)
    content = pattern.sub(r'[1]2[/1]',content)
    pattern = re.compile( '<[^>]*?>',re.I)
    content = pattern.sub('',content)
    #将html转义字符转为普通字符
    content = content.replace('&lt;','<')
    content = content.replace('&gt;','>')
    content = content.replace('&rdquo;','”')
    content = content.replace('&ldquo;','“')
    content = content.replace('&quot;','"')
    content = content.replace('&copy;','?')
    content = content.replace('&reg;','?')
    content = content.replace('&nbsp;',' ')
    content = content.replace('&mdash;','—')
    content = content.replace('&ndash;','–')
    content = content.replace('&lsaquo;','?')
    content = content.replace('&rsaquo;','?')
    content = content.replace('&hellip;','…')
    content = content.replace('&amp;','&')
    return content