這兩天在用python寫一個采集器,有個功能模塊是html代碼轉換為ubb,網上貌似沒有現成程序,就自己寫了個函數,順便鍛煉下自己的正則。
import redef 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
新聞熱點
疑難解答