Python从字符串中清理html

时间:2012-07-18 19:02:32

标签: python parsing

有没有办法逃避字符串中的所有引号和双引号?

例如,如果我有这样的字符串:

Hi my name is 'Shelby"

有没有办法预处理这个以逃避该字符串?

编辑:

也许这不是解决问题的最佳方法。所以这就是我实际上要做的事情,我有一个分析swf文件的工具,(swftools - > swfdump)但有时,有些恶意swf文件将包含html标签,我将这些结果输出到页面。那么有没有办法在python中清理这些html标签?

字符串示例:

 (    3 bytes) action: Push Lookup16:443 ("title_txt")
 (    0 bytes) action: GetMember
 (    6 bytes) action: Push Lookup16:444 ("htmlText") Lookup16:445 ("Please check your Log In info.")
 (    0 bytes) action: SetMember
 (   14 bytes) action: Push int:2 int:1 register:1 Lookup:30 ("login_mc")

对于说Please check your log info的部分,它应该说:font color = '#ff0000'

2 个答案:

答案 0 :(得分:4)

如果您只是想进行HTML清理,可以试试这个:

如果您想添加更多转义类型,这可能是最简单的方法:

def escape(htmlstring):
    escapes = {'\"': '"',
               '\'': ''',
               '<': '&lt;',
               '>': '&gt;'}
    # This is done first to prevent escaping other escapes.
    htmlstring = htmlstring.replace('&', '&amp;')
    for seq, esc in escapes.iteritems():
        htmlstring = htmlstring.replace(seq, esc)
    return htmlstring

这会将&'"<>的每个实例替换为正确的HTML转义码。

有关HTML转义的更多信息:

Wikipedia HTML Page

Every Escape imaginable

快乐逃脱!

答案 1 :(得分:0)

如果您使用JinjaGenshi这样的模板,他们就会为您做到这一点。嵌入到页面中的所有文本都将被正确转义,除非您显式地告诉它不要。在构建网页时,最好使用模板引擎。