Maison >interface Web >js tutoriel >Comment encoder des entités HTML en JavaScript : un guide pratique

Comment encoder des entités HTML en JavaScript : un guide pratique

Susan Sarandon
Susan Sarandonoriginal
2024-10-29 07:07:30648parcourir

How to Encode HTML Entities in JavaScript: A Practical Guide

Encodage des entités HTML en JavaScript

Introduction

Lors de l'affichage de contenu généré par l'utilisateur, il est crucial de gérer les caractères spéciaux comme ® et &, qui peuvent ne pas s'afficher correctement dans tous les navigateurs. Pour résoudre ce problème, il est nécessaire de convertir ces symboles en entités HTML pour un affichage cohérent.

Solution JavaScript

Une approche JavaScript simple pour encoder les entités HTML consiste à utiliser des expressions régulières. pour faire correspondre les symboles souhaités et les remplacer :

<code class="javascript">const encodedStr = rawStr.replace(/[\u00A0-\u9999<>\&amp;]/g, function(i) {
   return '&amp;#'+i.charCodeAt(0)+';';
});</code>

Ce code itère sur la plage de caractères donnée (unicode 00A0 - 9999, plus esperluette, supérieur et inférieur à). Pour chaque correspondance, il renvoie l'équivalent de l'entité HTML (&#nnn;), où nnn est le code de caractère Unicode.

Sup Tag Wrapping

Si vous avez besoin l'entité HTML à envelopper dans un balise à des fins de style :

<code class="javascript">// First encode the HTML entity as described above.

const encodedStr = rawStr.replace(/[\u00A0-\u9999<>\&amp;]/g, function(i) {
   return '&amp;#'+i.charCodeAt(0)+';';
});

// Then, wrap the encoded entity in a `<sup>` tag:

const supEncodedStr = encodedStr.replace(/\&amp\;#/g, '<sup>&amp;#');</code>

Considérations supplémentaires

  • Assurez-vous que votre site Web utilise le codage de caractères UTF8 pour prendre en charge ces caractères spéciaux.
  • Testez la conversion dans différents navigateurs pour tenir compte des variations de police et de configuration.

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