c# html-Tags entfernen (aus einem string)
Hin und wieder ist es nötig HTML-Tags aus einem „string“ zu entfernen. Hier die entsprechenden Codefragmente:
Alle HTML-Tags entfernen
Zuerst werden alle html-Tags mit einem einfachen Leerzeichen ersetzt
Dann werden alle Whitespaces zu einem Leerzeichen zusammengefasst.
Zum Schluß werden noch alle Whitespaces rechts und links entfernt.
string target = Regex.Replace(Regex.Replace(source,"<[^>]*>"," "),"\\s+"," ").Trim();
HTML-Tags entfernen ausser
Wenn das Ziel bestimmte Html-Tags zulässt, kann mit Hilfe einer Ausschlussliste gefiltert werden, die erlaubten Tags befinden sich in der Variable „AcceptableTags“:
string AcceptableTags = "i|b|u|sup|sub|ol|ul|li|br|h2|h3|h4|h5|span|div|p|a|img|blockquote"; string WhiteListPattern = "</?(?(?=" + AcceptableTags + ")notag|[a-zA-Z0-9]+)(?:\\s[a-zA-Z0-9\\-]+=?(?:([\"']?).*?\\1?)?)*\\s*/?>"; html = Regex.Replace(html, WhiteListPattern, "", RegExOptions.Compiled);