以下代码的作用是,它需要一个设置的打开标签和一个结束标签,如果有任何该类型的未关闭标签,它将关闭它们。这样做的问题是,它不会处理字体标签,因为字体标签比<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