Heim >Backend-Entwicklung >C++ >Wie kann ich alle HTML-Tags effizient aus einer Zeichenfolge entfernen?
Frage:
Wie kann ich mühelos alle HTML-Tags aus einem String entfernen? , unabhängig von den spezifischen Tags beteiligt?
Beispiel:
Betrachten Sie die folgende HTML-reiche Zeichenfolge:
string title = "<b>Hulk Hogan's Celebrity Championship Wrestling <font color=\"#228b22\">[Proj # 206010]</font></b> (Reality Series,)
Im Idealfall möchten wir, dass die Ausgabe erfolgt sein:
"Hulk Hogan's Celebrity Championship Wrestling [Proj # 206010] (Reality Series)"
Lösung:
Regex-Ansatz:
Eine effiziente Lösung verwendet reguläre Ausdrücke:
public static string StripHTML(string input) { return Regex.Replace(input, "<.*?>", String.Empty); }
Dieser reguläre Ausdruck entspricht jeder in spitzen Klammern (< und >) eingeschlossenen Zeichenfolge und ersetzt sie durch eine leere Zeichenfolge.
HTML Agility Pack:
Alternativ können Sie die HTML Agility Pack-Bibliothek nutzen:
HTMLDocument doc = new HTMLDocument(); doc.LoadHtml(input); string stripped = doc.DocumentNode.InnerText;
Diese Methode analysiert die HTML-String und gibt nur den Textinhalt zurück, ausgenommen alle Tags und Attribute.
Vorbehalte:
Obwohl diese Methoden HTML-Tags effektiv entfernen, weisen sie Einschränkungen auf:
Es ist wichtig, die geeignete Lösung basierend auf Ihren spezifischen Anforderungen und Kompromissen auszuwählen.
Das obige ist der detaillierte Inhalt vonWie kann ich alle HTML-Tags effizient aus einer Zeichenfolge entfernen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!