python实现html转ubb代码(html to ubb) - 网络运营论坛 - 精品软件 - 小轻秀场

python实现html转ubb代码(html to ubb)

注:本文转载自网络

这两天在用python写一个采集器,有个功能模块是html代码转换为ubb,网上貌似没有现成程序,就自己写了个函数,顺便锻炼下自己的正则。

import re
def Html2UBB(content):
    #以下是将html标签转为ubb标签
    pattern = re.compile( ']*>([sS]+?)',re.I)
    content = pattern.sub(r'[url=1]2[/url]',content)
    pattern = re.compile( ']+src=\"([^\"]+)\"[^>]*>',re.I)
    content = pattern.sub(r'[img]1[/img]',content)
    pattern = re.compile( '([sS]+?)',re.I)
    content = pattern.sub(r'[b]1[/b]',content)
    pattern = re.compile( '([sS]+?)',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 contentimport re
def Html2UBB(content):
    #以下是将html标签转为ubb标签
    pattern = re.compile( ']*>([sS]+?)',re.I)
    content = pattern.sub(r'[url=1]2[/url]',content)
    pattern = re.compile( ']+src=\"([^\"]+)\"[^>]*>',re.I)
    content = pattern.sub(r'[img]1[/img]',content)
    pattern = re.compile( '([sS]+?)',re.I)
    content = pattern.sub(r'[b]1[/b]',content)
    pattern = re.compile( '([sS]+?)',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</img[^>

使用时直接调用Html2UBB函数,返回值就是ubb码了html转ubb。

请登录后发表评论

    没有回复内容