2

別のシステムに移行されているリッチテキストで編集されたコンテンツブロブを多数含む大きなデータセットがあります。新しいシステムは、許可されたHTMLタグに関しては古いシステムよりも厳格であり、データを移行する前に、データ内のどのタグがカットまたはエンコードされ、入力時に不適切な方法でコンテンツに含まれるかを識別できる必要があります。 。

したがって、たとえばこのHTMLが与えられた場合:

<h1>My page</h1><p>Lorem ipsum<marquee>SURPRISE!</marquee></p>

「h1」タグと「p」タグ(どこかの例外リストにリストされています)には関心がありませんが、理想的には、「マーキー」タグが強調表示されているのを視覚的なスポットチェックで確認できるようにする必要があります。不良タグは簡単に識別して手動で処理できます(現時点では、データセットに不良タグが多数あるとは予想していません)。

不要なタグを削除するのは簡単です(単純なPHP / Pythonなどを考えてください)が、それを実行したくないため、データが失われる可能性があります。

同様に、タグをエンコードするのは簡単ですが、コンテンツの一部として醜い役に立たないタグをインポートしたくありません。

この種のことを行うための最良の方法は何ですか?私が見逃している簡単な解決策があるか、それを間違った方法で考えていると思わずにはいられません。

4

2 に答える 2

2

この場合、CSSはあなたの友達かもしれません

   * {
     text-decoration: line-through;
    }
   h1, p <list other allowed tags> {
    text-decoration: none;
    }
于 2013-03-14T13:10:52.370 に答える
0

おそらくXPathを使用して、サプライズ要素のリストを取得できます。

//*[name() != 'h1'
    and name() != 'p'
    and name() != 'b'
    and name() != 'span'
    and name() != 'div'
    and name() != 'body'
    and name() != 'a']

選択した言語またはXPathHelper(Chrome)などで。

「要素の値が値のリストにあるかどうかを確認するためのXPath1.0」に対する回答は、読みやすい回答になる可能性があります。

于 2013-03-14T13:25:13.740 に答える