PHP Velho Oeste 2024

ctype_space

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

ctype_spaceVerifica se os caracteres são whitespace

Descrição

ctype_space(mixed $text): bool

Verifica se todos os caracteres na string fornecida, text, são whitespace.

Parâmetros

text

A string a ser testada.

Nota:

Se um int entre -128 e 255 inclusive for fornecido, ele será interpretado como o valor ASCII de um único caractere (valores negativos são somados a 256 para permitir caracteres no intervalo ASCII estendido). Qualquer outro inteiro será interpretado como uma string contendo os dígitos decimais do inteiro.

Aviso

A partir do PHP 8.1.0, passar um argumento que não seja string tornou-se defasado. No futuro, o argumento será interpretado como uma string em vez de um ponto de código ASCII. Dependendo do comportamento esperado, o argumento deve ser convertido para string ou uma chamada explícita para chr() deve ser feita.

Valor Retornado

Retorna true se todos caracteres em text são white space, false caso contrário. Além de caracteres em branco isto também inclui os caracteres tab, vertical tab, line feed, carriage return e form feed. Quando chamada com uma string vazia, o resultado sempre será false.

Exemplos

Exemplo #1 Um exemplo da ctype_space()

<?php
$strings
= array(
'string1' => "\n\r\t",
'string2' => "\narf12",
'string3' => '\n\r\t' // note the single quotes
);
foreach (
$strings as $name => $testcase) {
if (
ctype_space($testcase)) {
echo
"A string '$name' consiste apenas em caracteres de espaço em branco.\n";
} else {
echo
"A string '$name' contém caracteres sem espaço em branco.\n";
}
}
?>

O exemplo acima produzirá:

A string 'string1' consiste apenas em caracteres de espaço em branco.
A string 'string2' contém caracteres sem espaço em branco.
A string 'string3' contém caracteres sem espaço em branco.

Veja Também

  • ctype_cntrl() - Verifica se os caracteres são de controle
  • ctype_graph() - Verifica se os caracteres são imprimíveis exceto espaço
  • ctype_punct() - Verifica se é um caractere imprimível que não é whitespace ou alfanumério
  • IntlChar::isspace() - Verifica se um ponto de código é um caractere de espaçamento

add a note

User Contributed Notes 2 notes

up
6
gardnerjohng at hotmail dot com
14 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
2
vlabots at gmail dot com
9 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