esc_attr( string $text )
Échappe les valeurs des attributs HTML.
Paramètre
$text(string)requisTexte à échapper.
Description / Informations supplémentaires
Encodes les caractères <, >, &, ” and ‘.
Il est fortement conseillé d'échapper les valeurs destinées aux attributs HTML tels que alt, value, title, etc. Pour échapper une valeur d'une translation on peut utiliser la fonction d'échappement esc_attr__(); pour échapper, traduire et afficher, on peut utiliser esc_attr_e().
Retourne
(string) Texte échappé.
Déclaration et structure de la fonction esc_attr()
esc_attr() est déclarée dans le fichier wp-includes/formatting.php à la ligne 4694 :
function esc_attr( $text ) {
$safe_text = wp_check_invalid_utf8( $text );
$safe_text = _wp_specialchars( $safe_text, ENT_QUOTES );
/**
* Filters a string cleaned and escaped for output in an HTML attribute.
*
* Text passed to esc_attr() is stripped of invalid or special characters
* before output.
*
* @since 2.0.6
*
* @param string $safe_text The text after it has been escaped.
* @param string $text The text prior to being escaped.
*/
return apply_filters( 'attribute_escape', $safe_text, $text );
}
Fonctions utilisées par esc_attr()
wp_check_invalid_utf8()Vérifie si les caractères d'une chaîne sont bien au format UTF-8.
_wp_specialchars()Convertie certains caractères spéciaux en entités HTML.
apply_filters()Appel les fonctions qui ont été attaché à un filtre (hook).
Hook utilisé par esc_attr()
attribute_escapeFiltre une chaîne nettoyée et échappée pour un attribut HTML.
Où est utilisée la fonction esc_attr()
dans le CMS WordPress
Exemple
$fname = ( isset( $_POST['fname'] ) ) ? $_POST['fname'] : '';
echo '<input type="text" name="fname" value="'.esc_attr( $fname ).'">';
Sources
Codex WordPress : esc_attr()
Autres fonctions dans le même fichier : wp-includes/formatting.php