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:&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!