背景: 私は、HTML ファイルを調べて、Lorem Ipsum で<script>
ないタグ内のすべてのコンテンツを置き換える Java プログラムを作成しています。<style>
私はもともと、> と < の間のすべてを削除する正規表現でこれを行っていましたが、実際には非常にうまく機能しました (冒涜的なことは知っています)。 htmlで正規表現を使用しようとすることで、宇宙の神聖さを失いました。
私は HtmlCleaner を使用しようとしています。これは、他に依存関係がないため、私を惹きつけた Java ライブラリです。ただし、それを実装しようとすると、次のようなhtmlを処理できませんでした:
<div>
This text is in the div <span>but this is also in a span.</span>
</div>
問題は簡単です。TagNodeVisitor が div に到達したら、そのコンテンツを適切な量のリップサムに置き換えると、span タグが削除されます。しかし、他に子がない TagNode だけにドリルダウンすると、テキストの最初のビットを見逃すことになります。
HtmlCleaner には ContentNode オブジェクトがありますが、そのオブジェクトには replace メソッドがありません。これに対処するために私が考えることができるものは、あまりにも複雑すぎるに違いないようです. HtmlCleaner またはあなたがよく知っている他の解析ライブラリを使用して、これに対処する方法に精通している人はいますか?