esc_html()

Définition : esc_html() échappe une chaîne destinée à être affichée comme texte dans un document HTML WordPress. Les caractères spéciaux sont convertis afin d’éviter leur interprétation comme du balisage.

Terminologie

Terme officiel : esc_html()

Autres appellations : Échappement HTML

À quoi cela sert

Elle protège l’affichage des informations variables : noms de fiches, messages, valeurs de champs ou résultats d’un outil, même si le texte contient des caractères réservés au HTML.

Comment cela fonctionne

La fonction produit une chaîne adaptée au contexte texte HTML. Elle intervient idéalement au moment de l’affichage, après validation et traitement approprié de la valeur source.

Dans quel contexte l’utiliser

À utiliser dans le contenu textuel d’une balise HTML. Pour un attribut tel que value ou title, utiliser plutôt esc_attr().

Exemple concret

Une page publique affiche la désignation d’un terme fournie par une base documentaire, sans permettre que sa valeur crée du HTML.

Exemple de code commenté

Extrait pédagogique PHP pour extension WordPress : adapter au contexte et tester sur un environnement de développement avant tout usage.

<?php
$terme = '<script>exemple</script> & WordPress';
echo '<p>' . esc_html( $terme ) . '</p>';
// Les caractères < et > restent visibles comme texte.

Explication pas à pas de l’exemple

1. La chaîne contient des signes utilisés par le HTML. 2. esc_html() les transforme en entités. 3. L’insertion dans le paragraphe n’exécute aucun script fourni par la valeur.

Résultat attendu

La page affiche les caractères du terme, et les balises de la valeur ne sont pas interprétées par le navigateur.

Mise en pratique guidée

Construire une page de démonstration contenant une chaîne de type <strong> et un symbole & dans une variable. Afficher cette variable une fois avec esc_html() puis dans un environnement isolé avec une sortie brute pour comprendre la différence de rendu. Conserver uniquement l’échappement dans la version finale de l’extension.

Précautions et limites

Le contexte de sortie compte : cette fonction ne doit pas remplacer esc_js(), esc_url() ou esc_attr() pour d’autres emplacements.

À ne pas confondre

esc_html() protège le texte HTML ; sanitize_text_field() traite l’entrée ; wp_kses_post() autorise un sous-ensemble de HTML.

Termes associés

  • esc_attr()
  • wp_kses_post()
  • sanitize_text_field()

Références officielles

Bouton retour en haut de la page