ホワイトリストに登録されていないタグをサニタイズする(ただし削除しない)機能について、jsoupを評価しています。<b>
タグのみが許可されているとすると、次の入力があります
foo <b>bar</b> <script onLoad='stealYourCookies();'>baz</script>
以下を生成する必要があります。
foo <b>bar</b> <script onLoad='stealYourCookies();'>baz</script>
jsoupには次の問題/質問があります。
document.getAllElements()
<html>
常に、、<head>
およびを想定してい<body>
ます。はい、電話することはできますdocument.body().getAllElements()
が、要点は、ソースが完全なHTMLドキュメントなのか、本文だけなのかわからないということです。結果は、入ったときと同じ形と形にしたいと思っています。- どうすれば置き換え
<script>...</script>
られ<script>...</script>
ますか?角かっこをエスケープされたエンティティに置き換えたいだけで、属性などを変更したくないのですがNode.replaceWith
、これはやり過ぎのように聞こえます。 - きれいな印刷(新しい行の挿入など)を完全にオフにすることは可能ですか?
または、別のフレームワークを使用する必要がありますか?これまでhtmlcleanerを覗いてみましたが、与えられた例は、私の希望する機能がサポートされていることを示唆していません。