Paramètres

$string(string)requis

Le texte à encoder.

$quote_style(int|string)optionnel

  • ENT_COMPAT ou 'double' (ancienne valeur) : convertie les doubles guillemets.
  • ENT_QUOTES : convertie les simples et les doubles guillemets.
  • ENT_NOQUOTES : ne convertie aucuns guillemets.
  • 'single' (ancienne valeur) : convertie les simples guillemets.
  • ENT_XML1 : convertie les simples et doubles guillemets aussi bien en convertissant les entités HTML (qui ne sont pas aussi des entités XML) en leurs points de code.

Valeur par défaut : ENT_NOQUOTES

$charset(bool|string)optionnel

Le caractère à encoder de la chaîne.

Valeur par défaut : false

$double_encode(bool)optionnel

Pour encoder les entités HTML existantes.

Valeur par défaut : false

Description / Informations supplémentaires

Traite spécifiquement les caractères &, <, >, ", et ‘.

Retourne

(string) Le texte encodé avec des entités HTML.

Déclaration et structure de la fonction _wp_specialchars()

function _wp_specialchars( $text, $quote_style = ENT_NOQUOTES, $charset = false, $double_encode = false ) {
    $text = (string) $text;

    if ( 0 === strlen( $text ) ) {
        return '';
    }

    // Don't bother if there are no specialchars - saves some processing.
    if ( ! preg_match( '/[&<>"\']/', $text ) ) {
        return $text;
    }

    // Account for the previous behavior of the function when the $quote_style is not an accepted value.
    if ( empty( $quote_style ) ) {
        $quote_style = ENT_NOQUOTES;
    } elseif ( ENT_XML1 === $quote_style ) {
        $quote_style = ENT_QUOTES | ENT_XML1;
    } elseif ( ! in_array( $quote_style, array( ENT_NOQUOTES, ENT_COMPAT, ENT_QUOTES, 'single', 'double' ), true ) ) {
        $quote_style = ENT_QUOTES;
    }

    $charset = _canonical_charset( $charset ? $charset : get_option( 'blog_charset' ) );

    $_quote_style = $quote_style;

    if ( 'double' === $quote_style ) {
        $quote_style  = ENT_COMPAT;
        $_quote_style = ENT_COMPAT;
    } elseif ( 'single' === $quote_style ) {
        $quote_style = ENT_NOQUOTES;
    }

    if ( ! $double_encode ) {
        /*
         * Guarantee every &entity; is valid, convert &garbage; into &garbage;
         * This is required for PHP < 5.4.0 because ENT_HTML401 flag is unavailable.
         */
        $text = wp_kses_normalize_entities( $text, ( $quote_style & ENT_XML1 ) ? 'xml' : 'html' );
    }

    $text = htmlspecialchars( $text, $quote_style, $charset, $double_encode );

    // Back-compat.
    if ( 'single' === $_quote_style ) {
        $text = str_replace( "'", '&#039;', $text );
    }

    return $text;
}
wp_kses_normalize_entities()

Convertit et répare les entités HTML.

wp_load_alloptions()

Charge et met en cache les options auto chargées, si disponibles ou toutes les options.

Où est utilisée la fonction _wp_specialchars() dans le CMS WordPress

Sources

Codex WordPress : _wp_specialchars()

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

Retour