python实现html转ubb代码(html2ubb)
这两天在用python写一个采集器,有个功能模块是html代码转换为ubb,网上貌似没有现成程序,就自己写了个函数,顺便锻炼下自己的正则。
importre
defHtml2UBB(content):
#以下是将html标签转为ubb标签
pattern=re.compile('<ahref=\"([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('<fontcolor=\"([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('&','&')
returncontent
使用时直接调用Html2UBB函数,返回值就是ubb码了html转ubb