function htmlDecode(input){
var e = document.createElement('div');
e.innerHTML = input;
return e.childNodes.length === 0 ? "" : e.childNodes[0].nodeValue;
}
Verwendung
htmlDecode("<img src='myimage.jpg'>");
// returns "<img src='myimage.jpg'>"
Schön. Wie sieht es mit der umgekehrten Richtung aus?
Das kehrt es um
Vielleicht meinst du das
Schön. Wie sieht es mit der umgekehrten Richtung aus?
Aber würde dies Skript-Tags in dem HTML ausführen, das wir unescapen wollen? Das wollen wir doch nicht...
Dieser Code funktioniert nicht, wenn Sie einen Baum von Knoten zum Dekodieren haben und nicht nur einen Blattknoten. Hier ist die Lösung, die ich stattdessen verwendet habe
Hm, der Kommentarfilter scheint meine Funktion zerstückelt zu haben. Ich poste sie stattdessen einfach auf Gist: https://gist.github.com/oxguy3/18d92821fe931945c86f
Ich glaube, das wird in IE nicht funktionieren.
Gibt es eine Möglichkeit, dies zu tun, ohne dass ein Dokument vorhanden ist?
Wie kann ich einen Chickenburger escapen?
Gibt es Lösungen?
Bitte helfen Sie?
Danke für deinen Beitrag. Genau das, was ich brauchte. Falls jemand interessiert ist, gibt es eine ähnliche Implementierung in Form einer Erweiterungsmethode unter https://paulschreiber.com/blog/2008/09/20/javascript-how-to-unescape-html-entities/
Lucascaro's Antwort auf Stack Overflow besagt unten, dass dies anfällig für XSS-Angriffe ist, wofür er eine Lösung hat.
http://stackoverflow.com/questions/1147359/how-to-decode-html-entities-using-jquery
<hugeLikeThanks>Vielen Dank dafür!</hugeLikeThanks>Für alle, die das im Jahr 2020 finden, sollten Sie stattdessen die DOMParser API verwenden, Beispiel
https://stackoverflow.com/questions/1912501/unescape-html-entities-in-javascript/34064434#34064434