ctype_space

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

ctype_spaceChequear posibles caracteres de espacio en blanco

Descripción

ctype_space(mixed $text): bool

Verifica si todos los caracteres en la string entregada, text, crean espacios en blanco.

Parámetros

text

El string de prueba.

Nota:

Si se proporciona un integer entre -128 y 255 inclusive, se interpreta como el valor ASCII de un simple caráter (a los valores negativos se le añade 256 para permitir caracteres en el rango ASCII Extendido). Cualquier otro entero se interpreta como una cadena que contiene los dígitos decimales del entero.

Advertencia

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.

Valores devueltos

Devuelve true si cada caracter del text genera cierto tipo de espacio en blanco, o false de lo contrario. Junto con el caracter regular de espacio en blanco, también se consideran espacios a los caracteres de tabulación, tabulación vertical, avance de línea, retorno de carro y avance de formulario. When called with an empty string the result will always be false.

Ejemplos

Ejemplo #1 Un ejemplo de ctype_space()

<?php
$strings
= array(
'string1' => "\n\r\t",
'string2' => "\narf12",
'string3' => '\n\r\t' // note las comillas simples
);
foreach (
$strings as $name => $testcase) {
if (
ctype_space($testcase)) {
echo
"The string '$name' consists of whitespace characters only.\n";
} else {
echo
"The string '$name' contains non-whitespace characters.\n";
}
}
?>

El resultado del ejemplo sería:

The string 'string1' consists of whitespace characters only.
The string 'string2' contains non-whitespace characters.
The string 'string3' contains non-whitespace characters.

Ver también

  • ctype_cntrl() - Chequear posibles caracteres de control
  • ctype_graph() - Chequear posibles caracteres imprimibles, con excepción de los espacios
  • ctype_punct() - Chequear posibles caracteres imprimibles que no son ni espacios en blanco ni caracteres alfanuméricos
  • IntlChar::isspace() - Comprobar si un punto de código es un carácter de espacio

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