ctype_space

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

ctype_spaceVérifie qu'une chaîne n'est faite que de caractères blancs

Description

ctype_space(mixed $text): bool

ctype_space() vérifie si tous les caractères de la chaîne text sont des caractères d'espacement.

Liste de paramètres

text

La chaîne testée.

Note:

Si un entier dans l'intervalle -128 et 255 inclus est fourni, il sera interprété comme la valeur ASCII d'un seul caractère (les valeurs négatives se verront ajouter 256 afin d'autoriser les caractères dans l'intervalle ASCII étendue). Tout autre entier sera interprété comme une chaîne de caractères contenant les décimales de l'entier.

Avertissement

À partir de PHP 8.1.0, passer un argument différent d'une chaîne est obsolète. À l'avenir, l#39;argument sera interprété comme une chaîne de caractères au lieu d'un point de code ASCII. Selon le comportement souhaité, l'argument doit être transtypé en chaîne de caractères ou un appel explicite à chr() doit être effectué.

Valeurs de retour

Retourne true si tous les caractères de text sont des caractères d'espacement, false sinon. Cela inclut les espaces, les tabulations, les tabulations verticales, les retours à la ligne, les retours chariot et les sauts de page. Lorsque appelé avec une chaîne vide, le résultat sera toujours false.

Exemples

Exemple #1 Exemple avec ctype_space()

<?php
$strings
= array(
'string1' => "\n\r\t",
'string2' => "\narf12",
'string3' => '\n\r\t' // notez les guillemets simples
);
foreach (
$strings as $name => $testcase) {
if (
ctype_space($testcase)) {
echo
"La chaîne '$name' ne contient que des caractères d'espacement blancs.\n";
} else {
echo
"La chaîne '$name' ne contient pas que des caractères d'espacement blancs.\n";
}
}
?>

L'exemple ci-dessus va afficher :

La chaîne 'string1' ne contient que des caractères d'espacement blancs.
La chaîne 'string2' ne contient pas que des caractères d'espacement blancs.
La chaîne 'string3' ne contient pas que des caractères d'espacement blancs.

Voir aussi

  • ctype_cntrl() - Vérifie qu'un caractère est un caractère de contrôle
  • ctype_graph() - Vérifie qu'une chaîne contient des caractères imprimables sauf l'espace
  • ctype_punct() - Vérifie qu'une chaîne contient de la ponctuation
  • IntlChar::isspace() - Vérifie si un point de code est un caractère d'espace

add a note

User Contributed Notes 2 notes

up
7
gardnerjohng at hotmail dot com
16 years ago
A function I wrote last night was fairly flexible in terms of detecting whitespace, and even took into account the pesky non-breaking spaces / zero-width spaces further up the Unicode alphabet.

The benefit here was being able to isolate and identify specific Unicode indices based on their subrange.

<?php
    //    Returns TRUE if the ASCII value of $string matches a registered whitespace character.
    //    *    This includes non-breaking spaces, zero-width spaces, and any unicode values below 32.
    //    *    $string: Character to identify. If string extends past one character, the value
    //        is truncated and only the initial character is examined.
    function is_whitespace($string){
        //    Return FALSE if passed an empty string.
        if($string == "") return FALSE;
        
        $char    =    ord($string);
        
        //    Control Characters
        if($char < 33)                        return TRUE;
        if($char > 8191 && $char < 8208)    return TRUE;
        if($char > 8231 && $char < 8240)    return TRUE;
        
        //    Additional Characters
        switch($char){
            case 160:    // Non-Breaking Space
            case 8287:    // Medium Mathematical Space
                return TRUE;
                break;
        }
        return FALSE;
    }
?>
up
1
vlabots at gmail dot com
11 years ago
thanks to gardnerjohng, but a had some problems with non-breaking spaces in this function.

I added 2 more cases for this: 
case 0xC2
case 0xA0

After this modification non-breaking spaces in my test code were successfully detected.
To Top