sanitize_text_field()

Définition : sanitize_text_field() nettoie une chaîne de caractères destinée à être traitée comme un champ texte simple dans WordPress. Elle retire notamment certains contenus HTML et normalise des caractères non adaptés.

Terminologie

Terme officiel : sanitize_text_field()

Autres appellations : Assainissement d’un champ texte

À quoi cela sert

Elle évite de stocker ou de manipuler du balisage inattendu dans les champs où seul du texte est attendu : nom, référence, intitulé ou libellé de configuration.

Comment cela fonctionne

La fonction traite une chaîne et la renvoie nettoyée. Elle ne vérifie pas les autorisations et ne remplace ni une validation métier ni l’échappement au moment de l’affichage.

Dans quel contexte l’utiliser

À utiliser après avoir récupéré une donnée textuelle externe et avant de l’enregistrer comme texte brut, notamment dans les formulaires d’administration.

Exemple concret

Un formulaire de classification reçoit une référence contenant accidentellement du HTML ; l’extension ne souhaite conserver que du texte.

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
// Valeur de démonstration, sans lecture directe d’une requête.
$source = '  <strong>Référence</strong> DOC-17  ';
$propre = sanitize_text_field( $source );
echo esc_html( $propre ); // Sortie protégée aussi.

Explication pas à pas de l’exemple

1. La valeur contient des balises d’exemple. 2. sanitize_text_field() supprime les éléments non adaptés au texte brut. 3. esc_html() protège ensuite l’insertion dans le document HTML.

Résultat attendu

Le visiteur voit un libellé nettoyé, sans interprétation des balises fournies dans la chaîne de départ.

Mise en pratique guidée

Comparer trois entrées : une référence simple, un texte contenant des balises et une valeur multilignes. Afficher le résultat nettoyé avec esc_html(). Pour les champs dont les retours à la ligne sont indispensables, vérifier la différence avec sanitize_textarea_field(). Ce contrôle évite d’employer une même méthode de nettoyage pour des contenus de natures différentes.

Précautions et limites

Utiliser sanitize_textarea_field() pour un texte multilignes lorsque les retours à la ligne doivent être préservés. Les champs HTML autorisés exigent un traitement différent.

À ne pas confondre

Nettoyage à l’entrée et échappement à la sortie sont deux étapes distinctes ; sanitize_text_field() ne remplace pas esc_html().

Termes associés

  • wp_unslash()
  • esc_html()
  • sanitize_key()

Références officielles

Bouton retour en haut de la page