Maison > interface Web > js tutoriel > Comment encoder correctement les esperluettes en JavaScript pour HTML ?

Comment encoder correctement les esperluettes en JavaScript pour HTML ?

Mary-Kate Olsen
Libérer: 2024-12-20 17:09:16
original
998 Les gens l'ont consulté

How to Properly Encode Ampersands in JavaScript for HTML?

Encodage des esperluettes en JavaScript

Vous rencontrez un problème où l'encodage HTML est perdu lors de la récupération d'une valeur à partir d'un champ de saisie masqué. La valeur, codée dans le champ de saisie, apparaît dans une zone de texte sans codage approprié. Le caractère « & » est alors interprété littéralement, plutôt que comme une entité HTML.

Pour résoudre ce problème, vous pouvez utiliser des bibliothèques JavaScript ou des méthodes jQuery pour encoder la chaîne.

API DOMParser

  • Créez une nouvelle instance DOMParser.
  • Utilisez le parseFromString pour analyser une chaîne HTML et créer un nouvel objet Document.
  • Récupérez le texte interne du document créé, qui sera codé en HTML.
const parser = new DOMParser();
const encodedText = parser.parseFromString('<p>chalk &amp; cheese</p>', 'text/html').documentElement.textContent;
Copier après la connexion

Fonctions JavaScript personnalisées

function htmlEncode(value) {
  // Create a temporary textarea element
  const textarea = document.createElement('textarea');
  textarea.textContent = value;
  const encodedValue = textarea.value;

  // Remove the created textarea element
  textarea.remove();

  return encodedValue;
}
Copier après la connexion

Exemple Utilisation

const hiddenValue = $('#hiddenId').attr('value');
const encodedValue = htmlEncode(hiddenValue);
$('#textboxId').val(encodedValue);
Copier après la connexion

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal