Maison > interface Web > js tutoriel > Existe-t-il un équivalent JavaScript à `htmlspecialchars()` de PHP ?

Existe-t-il un équivalent JavaScript à `htmlspecialchars()` de PHP ?

DDD
Libérer: 2024-11-17 18:54:02
original
261 Les gens l'ont consulté

Is There a JavaScript Equivalent to PHP's `htmlspecialchars()`?

JavaScript équivalent aux htmlspecialchars de PHP

Déterminer s'il existe une fonction JavaScript équivalente aux htmlspecialchars de PHP peut être un défi. Cependant, une approche alternative consiste à définir une fonction personnalisée à cet effet.

Fonction personnalisée pour l'échappement des caractères HTML

Bien que JavaScript ne fournisse pas de fonction intégrée spécifiquement pour l'échappement des caractères HTML, la fonction personnalisée suivante peut répondre à ce besoin :

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

Cette fonction accepte une chaîne en entrée et remplace les caractères spéciaux suivants par leur Équivalents d'entités de caractères HTML :

  • & → &
  • < → <
  • → >
  • " → "
  • ' → '

Optimisation des performances

Pour des performances améliorées, en particulier avec des textes volumineux blocs, la version modifiée suivante de la fonction peut être utilisée :

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

Cette version crée une table de hachage (map) pour mapper les caractères spéciaux à leurs entités correspondantes, puis utilise la méthode replace() pour effectuer les remplacements .

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 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