Paramètres

$class

(string) (Requis) La classe à nettoyer.

$fallback

(string) (Optionnel) La valeur à retourner si le nettoyage retourne une chaîne vide.

Valeur par défaut : ''

Retourne

(string) La valeur nettoyée.

Structure de la fonction sanitize_html_class()

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

function sanitize_html_class( $class, $fallback = '' ) {
    // Strip out any %-encoded octets.
    $sanitized = preg_replace( '|%[a-fA-F0-9][a-fA-F0-9]|', '', $class );

    // Limit to A-Z, a-z, 0-9, '_', '-'.
    $sanitized = preg_replace( '/[^A-Za-z0-9_-]/', '', $sanitized );

    if ( '' === $sanitized && $fallback ) {
        return sanitize_html_class( $fallback );
    }
    /**
     * Filters a sanitized HTML class string.
     *
     * @since 2.8.0
     *
     * @param string $sanitized The sanitized HTML class.
     * @param string $class     HTML class before sanitization.
     * @param string $fallback  The fallback string.
     */
    return apply_filters( 'sanitize_html_class', $sanitized, $class, $fallback );
}

Fonctions et Hook utilisés par sanitize_html_class()

sanitize_html_class()

Nettoie une classe css pour s'assurer que les caractères soient valides pour l'attribut class en HTML.

sanitize_html_class

Filtre la chaîne nettoyée pour une class HTML.

apply_filters()

Appel les fonctions qui ont été attaché à un filtre (hook).

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

Exemples

Pour styliser un poste particulier :
$post_class = sanitize_html_class( $post->post_title );
echo '<div class="' . $post_class . '">';
Fonction personnalisée pour nettoyer un tableau de classes css :
function sanitize_html_classes_personnalisee($classes, $sep = " "){
    $return = "";
 
    if(!is_array($classes)) {
        $classes = explode($sep, $classes);
     }
 
     if(!empty($classes)){
        foreach($classes as $class){
            $return .= sanitize_html_class($class) . " ";
        }
    }
 
    return $return;
}

Sources

Codex Wordpress : sanitize_html_class()

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

Retour