Encoder du texte pour un nœud HTML
Utilisez ce sens lorsque du texte littéral doit apparaître sur une page sans que le navigateur prenne les chevrons pour des balises. Si vous saisissez <b>bonjour</b>, la sortie contient des références pour les chevrons et un analyseur HTML ultérieur pourra afficher le fragment comme du texte. L’esperluette est échappée en premier afin qu’une suite ressemblant à une entité ne soit pas interprétée de façon inattendue. Les guillemets sont également échappés, mais cela ne rend pas la sortie sûre dans tous les attributs ou scripts.
N’encodez pas un document HTML fiable dans son ensemble si vous souhaitez rendre ses balises : leurs caractères s’afficheraient au lieu de mettre en forme le contenu. Pour les commentaires d’utilisateurs, préférez affecter textContent ou utiliser l’insertion sûre de texte de votre framework ; ces API gèrent le contexte. Si la valeur doit rejoindre un href, une règle de style ou une chaîne JavaScript, employez une API sûre propre à cette destination.
Références de caractères HTML et contexte
HTML réserve des caractères comme l’esperluette et les chevrons pour le balisage. Les références de caractères permettent de les écrire comme des données : & représente par exemple une esperluette, tandis que < représente un signe inférieur. Le navigateur interprète ces références lorsqu’il analyse le HTML. Il existe des références nommées et numériques, mais leur sens dépend du contexte dans lequel un analyseur HTML les lit. Voir une suite ressemblant à une entité dans un simple fichier texte ne veut pas dire que ce fichier a été rendu comme du HTML.
Il faut distinguer contenu textuel et balisage exécutable. Afficher un texte fourni par un utilisateur dans une page diffère de l’insertion d’un fragment HTML de confiance. De même, un nœud de texte, un attribut, une adresse URL, une règle CSS et une chaîne JavaScript demandent des traitements différents. La conversion des entités est une étape de représentation, pas une politique de sécurité complète ni un assainissement du HTML. Utilisez les API du DOM ou les modèles adaptés à l’endroit où la valeur sera insérée.
Utiliser le convertisseur
Partez du texte original et vérifiez que l’application destinataire demande réellement une représentation encodée. Collez le texte ou chargez l’exemple, puis examinez la sortie avant de la copier. La conversion se déroule dans ce navigateur ; le texte saisi n’est pas envoyé à un service de conversion. Ce sens modifie l’écriture de l’information, pas le sens d’une phrase. Gardez la source à côté du résultat pendant le diagnostic et évitez un second encodage, sauf si le format cible exige explicitement deux couches.
Gardez la saisie initiale si vous devez contrôler le résultat. Une représentation encodée peut paraître très différente du texte de départ, notamment en présence d’accents, d’emoji, de ponctuation ou de retours à la ligne. Avant de transmettre le résultat à un autre programme, vérifiez le codage des caractères et le format précis qu’il attend. Essayez d’abord un petit exemple connu et comparez la sortie dans l’application destinataire : deux formats qui se ressemblent ne sont pas forcément interchangeables.