(PHP 4 >= 4.0.4, PHP 5)
ctype_space — Auf Leerzeichen überprüfen
Prüft ob jedes Zeichen in text irgendeine Art Leerzeichen erzeugt. Neben dem eigentlichen Leerzeichen schließt das auch TAB, Zeilenforschub, Carriage Return und Formularvorschub mit ein.
Der zu prüfende String.
Liefert TRUE wenn jedes Zeichen in text ein Leerzeichen ist (space, tab, linefeed ...), sonst FALSE.
Beispiel #1 ctype_space() Beispiel
<?php
$strings = array('string1' => "\n\r\t", 'string2' => "\narf12", 'string3' => '\n\r\t');
foreach ($strings as $name => $testcase) {
if (ctype_space($testcase)) {
echo "Der String '$name' besteht aus Leerzeichen.\n";
} else {
echo "Der String '$name' enthält nicht nur Leerzeichen.\n";
}
}
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
Der String 'string1' besteht aus Leerzeichen. Der String 'string2' enthält nicht nur Leerzeichen. Der String 'string3' enthält nicht nur Leerzeichen.
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;
}
?>
The contradiction bellow brutaly forced me to do some testing.
ctype_space(""), as well as ctype_space(NULL), returns false
ctype_space(), returns NULL, with a warning
(PHP Version 4.4.8)