Maison >interface Web >js tutoriel >Comment puis-je décoder efficacement les entités HTML dans les réponses JSON ?

Comment puis-je décoder efficacement les entités HTML dans les réponses JSON ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-10 18:23:09757parcourir

How Can I Efficiently Decode HTML Entities in JSON Responses?

Décoder les entités HTML : trouver la bonne approche

Dans le domaine de la programmation Web, les réponses JSON peuvent souvent contenir des entités HTML codées qui nécessitent à décoder pour un affichage correct. Par exemple, vous pourriez rencontrer une chaîne JSON avec une apostrophe codée comme "'".

Une méthode courante pour décoder de telles entités consiste à tirer parti des capacités d'analyse HTML de jQuery. Cependant, cette approche peut être considérée comme hacky en raison de sa nature indirecte.

Pour une solution plus raffinée, considérez ce qui suit :

function decodeHtml(html) {
    var txt = document.createElement("textarea");
    txt.innerHTML = html;
    return txt.value;
}

Cette méthode exploite les mécanismes natifs du navigateur pour déterminer avec précision décoder les entités HTML. Contrairement à l'approche jQuery, elle conserve également toutes les balises HTML présentes dans la chaîne, garantissant ainsi la fidélité du contenu décodé.

Pour une démonstration pratique, considérez ce qui suit exemple :

Entrée :

Entity:&amp;nbsp;Bad attempt at XSS:<script>alert('new\nline?')</script><br>

Sortie :

Entity: Bad attempt at XSS:<script>alert('new\nline?')</script><br>

Comme vous pouvez l'observer, le processus de décodage préserve non seulement l'entité HTML spéciale mais également les balises HTML dans la chaîne, en maintenant l'intégrité du contenu original.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn