发布于 2014-10-13 22:14:45 | 187 次阅读 | 评论: 0 | 来源: 网友投递
Python编程语言
Python 是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。Python语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。
本文是一个python实现的html转ubb代码(html2ubb)示例代码,使用正则表达式写的一个函数,需要的朋友可以参考下
UBB代码是HTML(标准通用标记语言下的一个应用)的一个变种,是Ultimate Bulletin Board (国外的一个BBS程序)采用的一种特殊的TAG。您也许已经对它很熟悉了。UBB代码很简单,功能很少,但是由于其Tag语法检查实现非常容易,所以不少网站引入了这种代码,以方便网友使用显示图片/链接/加粗字体等常见功能。
需求:
这两天在用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