PythonとBeautifulSoupを使用して、HTMLファイルをマークアップしようとしています(文字列を「マーク」タグで文字通りラップしています)。問題は基本的に次のとおりです...
元の html ドキュメントがあるとします。
test = "<h1>oh hey</h1><div>here is some <b>SILLY</b> text</div>"
このドキュメント内の文字列を大文字と小文字を区別せずに (HTML を無視して) 検索し、「マーク」タグで囲みます。では、html で "ここにばかげたテキストがあります" を見つけたいとしましょう (太字のタグは無視します)。一致する html を取得して、「マーク」タグでラップしたいと思います。
たとえば、testで「here is some Silly text」を検索する場合、目的の出力は次のようになります。
"<h1>oh hey</h1><div><mark>here is some <b>SILLY</b> text</mark></div>"
何か案は?lxml や正規表現を使用する方が適切な場合は、それらのソリューションも受け入れます。