Maison > interface Web > js tutoriel > Comment échapper efficacement aux caractères spéciaux HTML en JavaScript ?

Comment échapper efficacement aux caractères spéciaux HTML en JavaScript ?

Linda Hamilton
Libérer: 2024-11-22 09:54:14
original
945 Les gens l'ont consulté

How to Effectively Escape HTML Special Characters in JavaScript?

Équivalent JavaScript de HtmlSpecialChars de PHP

En PHP, la fonction htmlspecialchars est utilisée pour encoder des caractères spéciaux, tels que <, >, et &, en entités HTML. Par exemple, < devient <.

JavaScript n'a pas de fonction intégrée qui reproduit exactement le comportement de htmlspecialchars. L'équivalent le plus proche consiste à utiliser une fonction personnalisée qui effectue les étapes suivantes :

  1. Remplacer & par &.
  2. Remplacer < par <.
  3. Remplacer > par >.

  4. Remplacez " par ".
  5. Remplacez ' par '.
  6. Une implémentation possible d'une telle fonction est :

    function escapeHtml(text) {
      return text
          .replace(/&amp;/g, "&amp;amp;")
          .replace(/</g, "&amp;lt;")
          .replace(/>/g, "&amp;gt;")
          .replace(/&quot;/g, "&amp;quot;")
          .replace(/'/g, "&amp;#039;");
    }
    Copier après la connexion

    Cette fonction échappera à toutes les occurrences des caractères spéciaux spécifiés. Cependant, il est important de noter qu'elle n'échappera pas à toutes. caractères spéciaux possibles. Par exemple, il n'échappe pas au caractère ' ', qui peut être utilisé pour représenter les espaces dans les URL.

    Pour de meilleures performances, en particulier avec des blocs de texte volumineux, vous pouvez utiliser une approche de table de recherche :

    function escapeHtml(text) {
      var map = {
        '&': '&amp;',
        '<': '<',
        '>': '>',
        '"': '&quot;',
        "'": '&amp;#039;'
      };
      
      return text.replace(/[&<>"']/g, function(m) { return map[m]; });
    }
    Copier après la connexion

    Cette approche réduit la quantité de manipulation de chaînes requise, ce qui entraîne des performances améliorées.

    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