Heim >Backend-Entwicklung >C++ >Wie kann ich alle HTML-Tags effizient aus einer Zeichenfolge entfernen?

Wie kann ich alle HTML-Tags effizient aus einer Zeichenfolge entfernen?

DDD
DDDOriginal
2025-01-05 11:53:41722Durchsuche

How Can I Remove All HTML Tags from a String Efficiently?

HTML aus Strings entfernen, ohne Tags anzugeben

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:

  • Der Regex-Ansatz kann einige komplexe Elemente übersehen HTML-Strukturen.
  • Das HTML Agility Pack kann für großes HTML langsamer sein Dokumente.

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn