PHP 8.4.1 Released!

ctype_space

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

ctype_spaceControlla gli spazi

Descrizione

ctype_space(mixed $text): bool

Controlla che tutti i caratteri nella string, text fornita, creino spazi.

Elenco dei parametri

text

La stringa da testare.

Nota:

Se è fornito un integer tra -128 e 255, viene interpretato come il valore ASCII di un singolo carattere (ai valori negativi viene aggiunto 256 in modo da permettere i caratteri Extended ASCII). Qualsiasi altro intero è interpretato come una stringa contenente le cifre decimali dell'intero.

Avviso

As of PHP 8.1.0, passing a non-string argument is deprecated. In the future, the argument will be interpreted as a string instead of an ASCII codepoint. Depending on the intended behavior, the argument should either be cast to string or an explicit call to chr() should be made.

Valori restituiti

Restituisce true se ogni carattere di text crea qualsiasi tipo di spazio bianco, false in caso contrario. Oltre al carattere spazio, questo include anche i caratteri tab, tab verticale, line feed (avanza di una riga), carriage return (a capo) e form feed (avanza di un modulo). When called with an empty string the result will always be false.

Esempi

Example #1 Un esempio di ctype_space()

<?php
$strings
= array(
'string1' => "\n\r\t",
'string2' => "\narf12",
'string3' => '\n\r\t' // nota le virgolette singole
);
foreach (
$strings as $name => $testcase) {
if (
ctype_space($testcase)) {
echo
"La stringa '$name' è composta solo da spazi vuoti.\n";
} else {
echo
"La stringa '$name' contiene caratteri diversi dallo spazio.\n";
}
}
?>

Il precedente esempio visualizzerà:

La stringa 'string1' è composta solo da spazi vuoti.
La stringa 'string2' contiene caratteri diversi dallo spazio.
La stringa 'string3' contiene caratteri diversi dallo spazio.

Vedere anche:

add a note

User Contributed Notes 2 notes

up
7
gardnerjohng at hotmail dot com
15 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
10 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