ASP.NET で文字列から HTML タグを削除するにはどうすればいいですか? 質問する

ASP.NET で文字列から HTML タグを削除するにはどうすればいいですか? 質問する

ASP.NET を使用して、特定の文字列から HTML タグを確実に削除するにはどうすればよいでしょうか (正規表現を使用しない)? PHP のようなものを探していますstrip_tags

例:

<ul><li>Hello</li></ul>

出力:

"こんにちは"

車輪の再発明はしないようにしていますが、今のところ自分のニーズを満たすものは見つかっていません。

ベストアンサー1

剥ぎ取るだけなら全て文字列からの HTML タグ。 正規表現でも 確実に 機能します。置き換え:

<[^>]*(>|$)

空の文字列でグローバルに置き換えます。後で文字列を正規化して、次の文字列を置き換えることを忘れないでください。

[\s\r\n]+

1 つのスペースで区切って、結果をトリミングします。必要に応じて、HTML 文字エンティティを実際の文字に戻します。

注記:

  1. 制限があります: HTMLとXML>では属性値が許可されます。このソリューション意思このような値に遭遇した場合は壊れたマークアップを返します。
  2. このソリューションは技術的には安全です。つまり、結果にはクロスサイト スクリプティングを実行したり、ページ レイアウトを壊したりする可能性のあるものは一切含まれません。ただ、あまりクリーンではありません。
  3. HTML と正規表現のすべてと同様に:
    使用適切なパーサーいかなる状況でも正しく行う必要がある場合。

おすすめ記事