PHP 5.6.0 released

ctype_space

(PHP 4 >= 4.0.4, PHP 5)

ctype_spaceAuf Leerzeichen überprüfen

Description

bool ctype_space ( string $text )

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.

Parameter-Liste

text

Der zu prüfende String.

Rückgabewerte

Liefert TRUE wenn jedes Zeichen in text ein Leerzeichen ist (space, tab, linefeed ...), sonst FALSE.

Beispiele

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.

Anmerkungen

Hinweis:

Wenn ein integer zwischen -128 und 255 (inklusive) übergeben wird, wird dieser als ASCII Wert eines einzelnen Buchstabens interpretiert (zu negativen Werten wird 256 dazu addiert, um Buchstaben des Erweiterten ASCII Zeichensatzes zu erlauben). Alle anderen Integer werden wie ein String interpretiert, welcher die dezimalen Ziffern des Integers enthält.

Siehe auch

  • ctype_cntrl() - Auf Steuerzeichen überprüfen
  • ctype_graph() - Auf druckbare Zeichen (außer Leerzeichen) überprüfen
  • ctype_punct() - Prüft auf Sonderzeichem, d.h. auf druckbare Zeichen die weder Buchstaben noch Ziffern noch Leerzeichen sind.

add a note add a note

User Contributed Notes 2 notes

up
0
vlabots at gmail dot com
2 months 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.
up
0
gardnerjohng at hotmail dot com
4 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;
    }
?>
To Top