Heim >Web-Frontend >js-Tutorial >Wie kann ich HTML-Spezialentitäten in JavaScript zuverlässig dekodieren?

Wie kann ich HTML-Spezialentitäten in JavaScript zuverlässig dekodieren?

Barbara Streisand
Barbara StreisandOriginal
2024-12-04 11:06:12637Durchsuche

How Can I Reliably Decode HTML Special Entities in JavaScript?

HTML-Spezialentitäten zuverlässig dekodieren

Beim Parsen von JSON-Antworten stoßen Sie möglicherweise auf Zeichenfolgen mit codierten speziellen HTML-Entitäten wie „' " für Apostrophe. Obwohl „decodeHtml“ von jQuery eine einfache Lösung bietet, fühlt es sich unzureichend an. Lassen Sie uns einen robusteren Ansatz erkunden.

Die bevorzugte Methode beinhaltet die Verwendung eines Textarea-Elements:

function decodeHtml(html) {
    var txt = document.createElement("textarea");
    txt.innerHTML = html;
    return txt.value;
}

Diese Technik dekodiert effektiv HTML-Entitäten und behält gleichzeitig Tags bei. Zur Veranschaulichung:

Eingabe:

Entity:&amp;nbsp;Bad attempt at XSS:<script>alert('new\nline?')</script><br>

Ausgabe:

Entity: Bad attempt at XSS:<script>alert('new\nline?')</script><br>

Die Leerzeichen, Zeilenumbrüche und Tags innerhalb des Skripts bleiben die Tags genau erhalten. Dieser Ansatz gewährleistet eine zuverlässige Dekodierung von HTML-Entitäten und ist somit die „richtige“ Lösung für Ihre Aufgabe.

Das obige ist der detaillierte Inhalt vonWie kann ich HTML-Spezialentitäten in JavaScript zuverlässig dekodieren?. 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