wp_check_invalid_utf8( string $string, bool $strip = false )
Vérifie si les caractères d'une chaîne sont bien au format UTF-8.
Paramètres
$string(string)requisLe texte à vérifier.
$strip(bool)optionnelSi $strip vaut true, les caractères invalides au format UTF-8 seront retirés.
Valeur par défaut : false
Retourne
(string) Le texte vérifié.
Déclaration et structure de la fonction wp_check_invalid_utf8()
wp_check_invalid_utf8() est déclarée dans le fichier wp-includes/formatting.php à la ligne 1095 :
function wp_check_invalid_utf8( $text, $strip = false ) {
$text = (string) $text;
if ( 0 === strlen( $text ) ) {
return '';
}
// Store the site charset as a static to avoid multiple calls to get_option().
static $is_utf8 = null;
if ( ! isset( $is_utf8 ) ) {
$is_utf8 = is_utf8_charset();
}
if ( ! $is_utf8 ) {
return $text;
}
// Check for support for utf8 in the installed PCRE library once and store the result in a static.
static $utf8_pcre = null;
if ( ! isset( $utf8_pcre ) ) {
// phpcs:ignore WordPress.PHP.NoSilencedErrors.Discouraged
$utf8_pcre = @preg_match( '/^./u', 'a' );
}
// We can't demand utf8 in the PCRE installation, so just return the string in those cases.
if ( ! $utf8_pcre ) {
return $text;
}
// phpcs:ignore WordPress.PHP.NoSilencedErrors.Discouraged -- preg_match fails when it encounters invalid UTF8 in $text.
if ( 1 === @preg_match( '/^./us', $text ) ) {
return $text;
}
// Attempt to strip the bad chars if requested (not recommended).
if ( $strip && function_exists( 'iconv' ) ) {
return iconv( 'utf-8', 'utf-8', $text );
}
return '';
}
Fonction utilisée par wp_check_invalid_utf8()
get_option()Retourne une valeur d'option en fonction de son nom.
Où est utilisée la fonction wp_check_invalid_utf8()
dans le CMS WordPress
Sources
Codex WordPress : wp_check_invalid_utf8()
Autres fonctions dans le même fichier : wp-includes/formatting.php