sanitize_html_class( string $class, string $fallback = '' )
Nettoie une classe css pour s'assurer que les caractères soient valides pour l'attribut class en HTML.
Paramètres
$class(string)requisLa classe à nettoyer.
$fallback(string)optionnelLa valeur à retourner si le nettoyage retourne une chaîne vide.
Valeur par défaut : ''
Retourne
(string) La valeur nettoyée.
Déclaration et structure de la fonction sanitize_html_class()
sanitize_html_class() est déclarée dans le fichier wp-includes/formatting.php à la ligne 2417 :
function sanitize_html_class( $classname, $fallback = '' ) {
// Strip out any percent-encoded characters.
$sanitized = preg_replace( '|%[a-fA-F0-9][a-fA-F0-9]|', '', $classname );
// 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 $classname HTML class before sanitization.
* @param string $fallback The fallback string.
*/
return apply_filters( 'sanitize_html_class', $sanitized, $classname, $fallback );
}
Fonctions utilisées 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.
apply_filters()Appel les fonctions qui ont été attaché à un filtre (hook).
Hook utilisé par sanitize_html_class()
sanitize_html_classFiltre la chaîne nettoyée pour une class HTML.
Où est utilisée la fonction sanitize_html_class()
dans le CMS WordPress
Exemples
$post_class = sanitize_html_class( $post->post_title );
echo '<div class="' . $post_class . '">';
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