1. ホーム
  2. c#

[解決済み] どのタグが含まれているかわからない文字列から、すべてのHTMLタグを削除するにはどうすればよいですか?

2022-02-09 04:38:39

質問内容

HTMLタグやHTMLに関連するあらゆるものを文字列から簡単に削除する方法はありますか?

例えば

string title = "<b> Hulk Hogan's Celebrity Championship Wrestling &nbsp;&nbsp;&nbsp;<font color=\"#228b22\">[Proj # 206010]</font></b>&nbsp;&nbsp;&nbsp; (Reality Series, &nbsp;)"

上記は本当にそうあるべきです。

"ハルク・ホーガンのセレブリティ・チャンピオンシップ・レスリング [Proj # 206010] (リアリティ・シリーズ)"。

解答方法

以下のような簡単な正規表現を使用することができます。

public static string StripHTML(string input)
{
   return Regex.Replace(input, "<.*?>", String.Empty);
}

この解決策には、それなりの欠陥があることを認識しておいてください。 参照 文字列中のHTMLタグを削除する をご覧ください(特に「Mark E. Haase」/@mehaaseのコメント)。

別の解決策としては HTMLアジリティパック .
本ライブラリを使用したサンプルはこちらでご覧いただけます。 HTMLアジリティパック - コンテンツを削除せずに不要なタグを削除する?