5

この問題の決定的な解決策を探すために、約 30 分ほど費やしました。

この質問は何度もされているようですが…

  • ほとんどのソリューションは正規表現を使用します。
  • html の処理に正規表現を使用すべきではないという投稿が多数あります。
  • HTMLAgilityPack (Codeplex上) へのリンクを提供するだけの回答はたくさんありますが、このパックを使用して指定された要件を満たす方法の実際の例はありません。

そのため、次の要件を満たす最適なソリューションを探しています。

  • HTML タグの許可リストを提供したいと考えています。
  • 許可リストにないタグは、その属性とコンテンツとともに削除する必要があります。
  • 許可リスト内のすべてのタグは、属性とコンテンツとともに保持する必要があります。
  • ソリューションはさまざまなローカリゼーションに対応する必要があります。英語以外の言語や文字セットを使用するユーザーが使用される可能性があります。
  • [追加] ソリューションは、完全な html ページではなく、フォーラムの投稿などのテキストを処理する必要があります。そのため、bui などのタグは許可されますが、スクリプト div などは許可されず、削除する必要があります。

私は C# ソリューションを探しています。正規表現を使用するのが最善であれば、喜んでそうします。これを実行できる既存のライブラリがあれば、喜んで使用します。可能であれば、いくつかのサンプルコードをいただければ幸いです。

私は、広範な議論+クローズドポストなどとは対照的に、この問題を解決するための決定的で試行錯誤された方法を探しています:) :)

前もって感謝します。

4

1 に答える 1

1

HTML の解析にはHtml Agility Packを使用できます。その後、要素を好きなように操作して、再び HTML に書き戻すことができます。

于 2011-06-22T08:42:24.013 に答える