Heim > Artikel > Web-Frontend > Beispielanalyse alternativer Javascript-Methoden zur Implementierung der Funktionen htmlencode() und htmldecode()
Das Beispiel in diesem Artikel beschreibt die alternative Methode von JavaScript zur Implementierung der Funktionen htmlencode() und htmldecode(). Teilen Sie es als Referenz mit allen:
Die häufigste Methode besteht darin, Sonderzeichen wie f651aa60efb145585e3c8d42295fa11a& gibt es auch Dutzende von Zeichenentitäten wie ©"®, sowie AB-Chinesisch oder Es ist schwierig, alle in dezimaler oder hexadezimaler Codierung ausgedrückten Zeichen wie Chinesisch aufzuzählen. Sie einzeln zu ersetzen, ist nicht nur langwierig und ineffizient, sondern es ist auch leicht, einige Zeichen zu übersehen
Der Code lautet wie folgt:function htmlencode(s){ var div = document.createElement('div'); div.appendChild(document.createTextNode(s)); return div.innerHTML; } function htmldecode(s){ var div = document.createElement('div'); div.innerHTML = s; return div.innerText || div.textContent; }Ganz einfach! Das Codierungsprinzip besteht darin, einen TextNode-Knoten zu erstellen und ihn anzuhängen zum Container hinzufügen und dann das innereHTML des Containers abrufen.Das Dekodierungsprinzip besteht darin, die Zeichenfolge dem innerHTML des Containers zuzuweisen und dann den innerText oder textContent abzurufen.Testen Sie es :
//测试 document.onclick = function (){ //<p> & </p> alert(htmlencode('<p> & </p>')); //<p> & © ABC 中文 中文 </p> alert(htmldecode('<p> & © ABC 中文 中文 </p>')); }Der Effekt ist gut htmldecode hat Anforderungen an Eingabeparameter, wenn die Eingabeparameter keine zulässigen codierten Ergebnisse sind. Die erwarteten Ergebnisse werden möglicherweise nicht erzielt. Ich habe auf Google gesucht und eines auf cnblogs gefunden. Es stellt sich heraus, dass jemand anderes bereits so gedacht hat, aber seine Der HTML-Decode-Code ist falsch.