Paramètres

$str

(string) (Requis) Chaîne à nettoyer.

$keep_newlines

(bool) (Optionnel) Garde les sauts de ligne si réglé à true.

Valeur par défaut : false

Retourne

(string) Chaîne de caractères nettoyée.

Structure de la fonction _sanitize_text_fields()

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

function _sanitize_text_fields( $str, $keep_newlines = false ) {
    if ( is_object( $str ) || is_array( $str ) ) {
        return '';
    }

    $str = (string) $str;

    $filtered = wp_check_invalid_utf8( $str );

    if ( strpos( $filtered, '<' ) !== false ) {
        $filtered = wp_pre_kses_less_than( $filtered );
        // This will strip extra whitespace for us.
        $filtered = wp_strip_all_tags( $filtered, false );

        // Use HTML entities in a special case to make sure no later
        // newline stripping stage could lead to a functional tag.
        $filtered = str_replace( "<\n", "<\n", $filtered );
    }

    if ( ! $keep_newlines ) {
        $filtered = preg_replace( '/[\r\n\t ]+/', ' ', $filtered );
    }
    $filtered = trim( $filtered );

    $found = false;
    while ( preg_match( '/%[a-f0-9]{2}/i', $filtered, $match ) ) {
        $filtered = str_replace( $match[0], '', $filtered );
        $found    = true;
    }

    if ( $found ) {
        // Strip out the whitespace that may now exist after removing the octets.
        $filtered = trim( preg_replace( '/ +/', ' ', $filtered ) );
    }

    return $filtered;
}

Fonctions utilisées par _sanitize_text_fields()

wp_check_invalid_utf8()

Vérifie si les caractères d'une chaîne sont bien au format UTF-8.

wp_pre_kses_less_than()

Convertit seulement le signe moins que (<) d'un texte.

wp_strip_all_tags()

Enlève proprement toutes les balises HTML incluant script et style.

Où trouver la fonction _sanitize_text_fields() dans le CMS Wordpress

Sources

Codex Wordpress : _sanitize_text_fields()

Autres fonctions dans le même fichier : wp-includes/formatting.php

Retour