Publicité
Entrée
Sortie
Publicité

Foire aux questions

Que sont les entités HTML ?

Les entités HTML sont des séquences de texte spéciales qui représentent des caractères ayant une signification particulière en HTML, ou des caractères difficiles à saisir. Elles commencent par une esperluette (&) et se terminent par un point-virgule (;). Par exemple, &amp; s'affiche comme &, &lt; comme < et &gt; comme >. Les entités nommées comme &copy; s'affichent comme © et &nbsp; produit une espace insécable. Les entités numériques utilisent une référence de point de code décimal (&#169;) ou hexadécimal (&#xA9;).

Pourquoi encoder du HTML ?

L'encodage HTML est essentiel pour la sécurité et le rendu correct. Lorsque vous affichez du contenu fourni par l'utilisateur sur une page web, vous devez encoder les caractères spéciaux pour prévenir les attaques Cross-Site Scripting (XSS). Si un utilisateur soumet <script>alert("piraté")</script> et que vous l'affichez sans encodage, le navigateur exécutera le script. L'encoder en &lt;script&gt; le fait apparaître comme du texte visible à la place. De plus, l'encodage garantit que les caractères comme < et > dans le contenu textuel ne sont pas interprétés à tort comme des balises HTML.

Quelle est la différence entre les entités HTML nommées et numériques ?

Les entités nommées utilisent un nom descriptif précédé de & et suivi de ;, comme &amp; pour le caractère esperluette ou &copy; pour le symbole de copyright. Elles sont lisibles par les humains, mais seul un ensemble limité de caractères possède des entités nommées officielles définies dans la spécification HTML. Les entités numériques fonctionnent pour n'importe quel caractère Unicode : les entités décimales utilisent la forme &#NNNN; où NNNN est le point de code Unicode décimal, et les hexadécimales utilisent &#xHHHH; où HHHH est le point de code en hex. Par exemple, le signe euro € peut s'écrire &#8364; ou &#x20AC;.