2

かなり悪いhtmlコードを解析しています。一部の要素で属性に「<」が含まれていることに気付くまで、私はうまくいきました。

元:

<a href="#Anchor-<ht-42368">40</a>

次のようになります

<a href="#Anchor-">
    <ht-42368>40</ht-42368>
</a>

これはブラウザーで正常にレンダリングされますが、HTML クリーナーは新しいタグを開始しようとしていると認識します。新しいタグを開始する前に「">」を追加しますが、これは望ましくありません。

これを修正する最善の方法は何ですか? HTMLCleaner に、これを管理するために構成できるプロパティがあるかどうかはわかりません。ない場合、HTML データを前処理してこれらの文字を修正するにはどうすればよいですか?

編集:固定例

編集: htmlcleaner に入る前に、replaceAll() を正規表現で適用できると考えています。たぶん ="[^"]*" のようなもので、「<」が含まれているかどうかを検索し、含まれている場合は、エスケープされた html アンパサンドに置き換えます。

4

0 に答える 0