Décoder les entités HTML avec JavaScript/jQuery
En développement web, il est souvent nécessaire de décoder les entités HTML pour afficher correctement les caractères spéciaux. Cette question explore comment y parvenir en utilisant JavaScript ou jQuery.
Solution 1 : Utilisation de jQuery
Bien que le code jQuery fourni puisse décoder les entités HTML, il présente des inconvénients potentiels liés à la performance et à la sécurité. Une fonction plus sûre et plus optimisée est recommandée :
var decodeEntities = (function() { // Internal element for HTML parsing var element = document.createElement('div'); function decodeHTMLEntities(str) { if (str && typeof str === 'string') { // Sanitize HTML tags str = str.replace(/<script[^>]*>([\S\s]*?)<\/script>/gmi, ''); str = str.replace(/<\/?\w(?:[^"'>]|"[^"]*"|'[^']*')*>/gmi, ''); // Decode entities element.innerHTML = str; str = element.textContent; element.textContent = ''; } return str; } return decodeHTMLEntities; })();
Utilisation :
var decodedString = decodeEntities("&amp;");
Solution 2 : Utilisation d'un plugin jQuery
La fonction decodeEntities peut être facilement convertie en jQuery plugin :
jQuery.decodeEntities = decodeHTMLEntities;
Utilisation :
$(".selector").text(jQuery.decodeEntities("&amp;"));
Exemple :
Considérez la chaîne d'entrée `var var
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!