制作自制的html修复工具处理通用标签

时间:2013-09-16 01:52:33

标签: python html parsing

以下代码的作用是,它需要一个设置的开放标记和一个结束标记,如果有任何类型的未闭合标记,它将关闭它们。问题是,它不会处理字体标签,因为字体标签只有<font>。我认为有一种方法可以使用正则表达式使其与之前的标签匹配,然后将其传递给此html修复程序,以便它可以处理任何类型的标记。有什么建议?对于开始标记,正则表达式可能看起来像<+[\w ="\']+?>,对于结束标记看起来可能看起来像</+[\w ="\']+?>。如果您想知道我使用的奇怪语法,那么这是3.x.

def check_html(otag, etag, text):
    ret = ['f', text, otag, etag] if text.count(otag) != text.count(etag) else ['a', text, otag, etag]
    return fix_html(ret)

def fix_html(x):
    grade, text, otag, etag = x
    ret = [otag + text if text.endswith(etag) else s for s in text.split()] if grade == 'f' else text
    ret = [text + etag if text.startswith(otag) else s for s in ret] if grade == 'f' else text
    return ret[0] if grade == 'f' else ret

0 个答案:

没有答案