c# html-Tags entfernen (aus einem string)

Bewerte diesen Beitrag

HTML-Tags entfernenHin 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);

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *


*