这两天在用python写一个采集器,有个功能模块是html代码转换为ubb,网上貌似没有现成程序,就自己写了个函数,顺便锻炼下自己的正则。
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('<','<')
content = content.replace('>','>')
content = content.replace('”','”')
content = content.replace('“','“')
content = content.replace('"','"')
content = content.replace('©','©')
content = content.replace('®','®')
content = content.replace(' ',' ')
content = content.replace('—','—')
content = content.replace('–','–')
content = content.replace('‹','‹')
content = content.replace('›','›')
content = content.replace('…','…')
content = content.replace('&','&')
return content
使用时直接调用Html2UBB函数,返回值就是ubb码了html转ubb
您可能感兴趣的文章:打印出python 当前全局变量和入口参数的所有属性Python实现端口复用实例代码采用python实现简单QQ单用户机器人的方法python实现定制交互式命令行的方法Python 获取新浪微博的最新公共微博实例分享python实现的解析crontab配置文件代码Python开发WebService系列教程之REST,web.py,eurasia,Djangowindows下wxPython开发环境安装与配置方法Python实现全局变量的两个解决方法