Maison > interface Web > js tutoriel > Comment supprimer l'échappement des entités HTML en JavaScript ?

Comment supprimer l'échappement des entités HTML en JavaScript ?

DDD
Libérer: 2024-11-06 09:01:02
original
405 Les gens l'ont consulté

How to Unescape HTML Entities in JavaScript?

Récupération des entités HTML dans JavaScript

Description du problème

Lors de la récupération de chaînes XML-RPC contenant des entités HTML, JavaScript les insère littéralement dans HTML, empêchant ainsi rendu. Le texte s'affiche sous forme de chaîne plutôt que sous l'élément HTML prévu.

Diagnostic et solution

[DOMParser]

La méthode préférée pour annuler l'échappement des entités HTML en JavaScript consiste à utiliser le DOMParser. DOMParser est un outil pris en charge par un navigateur qui analyse les chaînes HTML et extrait leur contenu. En utilisant DOMParser, vous pouvez convertir en toute sécurité et efficacement les entités échappées en leurs caractères correspondants.

Utilisation de DOMParser

La fonction suivante utilise DOMParser pour annuler l'échappement des entités HTML en JavaScript :

function htmlDecode(input) {
  var doc = new DOMParser().parseFromString(input, "text/html");
  return doc.documentElement.textContent;
}
Copier après la connexion

Exemple

Pour démontrer la fonction, nous pouvons annuler l'échappement d'une chaîne HTML contenant une entité image :

console.log(  htmlDecode("<img src='myimage.jpg'>")  )    
// "<img src='myimage.jpg'>"
Copier après la connexion

Considérations de sécurité

Méfiez-vous des scripts intersites potentiels ( XSS) si la chaîne d'entrée n'est pas fiable. Les entités HTML échappées peuvent masquer du code JavaScript malveillant qui peut s'exécuter lorsque la chaîne est analysée.

Validez toujours les entrées de l'utilisateur avant de retirer l'échappement pour empêcher les acteurs malveillants d'exploiter les vulnérabilités.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal