Heim > Web-Frontend > js-Tutorial > Hauptteil

Beispielanalyse alternativer Javascript-Methoden zur Implementierung der Funktionen htmlencode() und htmldecode()

高洛峰
Freigeben: 2016-12-06 15:11:53
Original
1249 Leute haben es durchsucht

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 < zu ersetzen htmlencoding. , aber es ist möglicherweise nicht einfach, es beim Senden von htmldecode zu verwenden, da es viele Situationen gibt, die umgekehrt werden müssen. Zusätzlich zu den üblichen <>& 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(&#39;div&#39;);
  div.appendChild(document.createTextNode(s));
  return div.innerHTML;
}
function htmldecode(s){
  var div = document.createElement(&#39;div&#39;);
  div.innerHTML = s;
  return div.innerText || div.textContent;
}
Nach dem Login kopieren

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(&#39;<p> & </p>&#39;));
  //<p> & © ABC 中文 中文 </p>
  alert(htmldecode(&#39;<p> & © ABC 中文 中文 </p>&#39;));
}
Nach dem Login kopieren

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.


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage