Heim  >  Artikel  >  Web-Frontend  >  Beispielanalyse alternativer Javascript-Methoden zur Implementierung der Funktionen htmlencode() und htmldecode()

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

高洛峰
高洛峰Original
2016-12-06 15:11:531237Durchsuche

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

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.


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
Vorheriger Artikel:Mobiler js-BildbetrachterNächster Artikel:Mobiler js-Bildbetrachter