Description

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().

Paramètre

$text

(string) (Requis) Texte à échapper.

Retourne

(string) Texte échappé.

Structure de la fonction esc_attr()

Définie dans le fichier wp-includes/formatting.php à la ligne 4523 :

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 et Hook utilisés par esc_attr()

attribute_escape

Filtre une chaîne nettoyée et échappée pour un attribut HTML.

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).

Où trouver 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

Retour