Décodage de chaînes avec des entités HTML spéciales
Lors de la réception de données JSON contenant des entités HTML encodées, il est crucial de les décoder correctement. Une approche jQuery simple pour ce faire est :
function decodeHtml(html) { return $('<div>').html(html).text(); }
Bien qu'efficace, cette technique est considérée comme un « hack ». Une méthode plus robuste et préférée consiste à utiliser DOMParser comme suit :
function decodeHtml(html) { var txt = document.createElement("textarea"); txt.innerHTML = html; return txt.value; }
Cette méthode décode non seulement les entités, mais préserve également les balises HTML, ce qui en fait une approche plus complète et largement acceptée.
Un exemple illustrant le processus de décodage :
Input: Entity:&nbsp;Bad attempt at XSS:<script>alert('new\nline?')</script><br> Output: Entity: Bad attempt at XSS:<script>alert('new\nline?')</script><br>
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!