Encoder ou décoder des entités HTML (html entities) en Javascript

30 juillet 2019 camillejg Laisser un commentaire

Il peut parfois être utile d’encoder ou décoder du code HTML directement avec Javascript. Contrairement à PHP, ce langage n’a pas prévu de fonction native afin de réaliser cette opération.

Pour ce faire, il est nécessaire de créer une textarea temporaire nous permettant de manipuler les données. Vous trouverez ci-dessous deux propositions de scripts. Avec et sans jQuery, pour encoder puis décoder du code HTML.

Décodage HTML

// Decode en JS
function decodeHTMLEntities(text) {
  var textArea = document.createElement('textarea');
  textArea.innerHTML = text;
  return textArea.value;
}

// Decode avec jQuery
function decodeHTMLEntities(text) {
  return $("<textarea/>").html(text).text();
}

Encodage HTML

// Encode en JS
function encodeHTMLEntities(text) {
  var textArea = document.createElement('textarea');
  textArea.innerText = text;
  return textArea.innerHTML;
}

// Encode avec jQuery
function encodeHTMLEntities(text) {
  return $("<textarea/>").text(text).html();
}

Source : https://medium.com/@tertiumnon/js-how-to-decode-html-entities-8ea807a140e5


Articles associés