同一の機能はないようですが、近い機能を実現するために関数を作っている人は沢山いるようです。
"C# HTML remove tags"などの語句で検索すると良いでしょう。
色々な言語でstrip_tagsに近い機能を表現しているページがありました。
public static string StripHTML(String TexteHTML) { return System.Text.RegularExpressions.Regex.Replace(TexteHTML, "(<[^>]+>)", ""); }
別のサンプルです。
public string Strip(string text) { return Regex.Replace(text, @"<(.|\n)*?>", string.Empty); }
もうちょっと凝ったことをやっているサンプルもありました。
ソースが長いので以下のサイトでご確認ください。
一部のタグを許可させるサンプルもあります。
(正規表現に関してのみ触れられているので、その他のサンプルの正規表現部分を置き換える形で使うと良いはずです。)
参考になると幸いです。
上記の件ですが、どのようなことを実現したいのか、によりますが、基本的にはご紹介したサンプルでstrip_tagsで引数を1つ与えた場合と同じ動作をするはずです。
許可したいタグがある場合、場面によって許可したいタグが変わることがないのであれば、最後に紹介した正規表現のサンプルを参考にして書き換えることで特定のタグを許可させることができます。
場面によって許可したいタグが異なる場合、strip_tagsの第2引数のallowable_tagsを実装しなければいけなくなりますが、それほど難しくないはずです。
C#を使ったことがないので詳しい書き方は分かりませんが、独自に定義する関数で2つ目の引数を受け入れる設定にし、2つ目の引数の内容を元に正規表現を生成すれば良いはずです。
<b><br>
という第2引数があった場合、それを
b|/b|br|/br
に変換し、正規表現の一部に挿入するイメージです。
お時間ある時に確認してみてください。
参考になると幸いです。
ありがとうございます。これでC#版のstrip_tagsが実装できそうです。実現するだけならそれほど難しくないのですが、それだけに色々な方法を探していたので、とても参考になりました。
ありがとうございます。同一の機能がないのは残念ですが、とても参考になりました。