ctype_space

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

ctype_spaceCheck for whitespace character(s)

설명

bool ctype_space ( string $text )

Checks if all of the characters in the provided string, text, creates whitespace.

인수

text

The tested string.

반환값

Returns TRUE if every character in text creates some sort of white space, FALSE otherwise. Besides the blank character this also includes tab, vertical tab, line feed, carriage return and form feed characters.

예제

Example #1 A ctype_space() example

<?php
$strings 
= array('string1' => "\n\r\t"'string2' => "\narf12"'string3' => '\n\r\t');
foreach (
$strings as $name => $testcase) {
    if (
ctype_space($testcase)) {
        echo 
"The string '$name' consists of all whitespace characters.\n";
    } else {
        echo 
"The string '$name' does not consist of all whitespace characters.\n";
    }
}
?>

위 예제의 출력:

The string 'string1' consists of all whitespace characters.
The string 'string2' does not consist of all whitespace characters.
The string 'string3' does not consist of all whitespace characters.

주의

Note:

-128이상 255이하의 integer를 지정할 경우, 한 문자의 ASCII 값으로 해석합니다. (음수는 256이 더해져 확장 ASCII 영역의 문자가 됩니다) 그 외의 정수는 그 정수를 표현하는 10진 문자열로 해석합니다.

참고

  • ctype_cntrl() - Check for control character(s)
  • ctype_graph() - Check for any printable character(s) except space
  • ctype_punct() - Check for any printable character which is not whitespace or an alphanumeric character

add a note 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