欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python实现html转ubb代码(html2ubb)

程序员文章站 2023-11-30 19:33:52
这两天在用python写一个采集器,有个功能模块是html代码转换为ubb,网上貌似没有现成程序,就自己写了个函数,顺便锻炼下自己的正则。 import re...

这两天在用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