_sanitize_text_fields( string $str, bool $keep_newlines = false )
Fonction d'aide interne qui nettoie une chaîne provenant d'un champ de formulaire ou d'une base de donnée.
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 5404 :
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