1

この次のコードが行うことは、セットの開始タグと終了タグを取り、そのタイプの閉じられていないタグがあれば、それらを閉じます。これに関する問題は、フォントタグにはさらに多くのフォントタグがあるため、フォントタグを処理しないことです<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
4

0 に答える 0