CakeFest 2024: The Official CakePHP Conference

ctype_space

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

ctype_spaceПроверяет пробельные символы

Описание

ctype_space(mixed $text): bool

Проверяет, состоит ли переданная строка (string) text только из пробельных символов.

Список параметров

text

Проверяемая строка.

Замечание:

Если передано целое число (int) в диапазоне между -128 и 255 включительно, то оно будет обработано как ASCII-код одного символа (к отрицательным значениям будет прибавлено 256, чтобы функция могла представить символы из расширенного диапазона ASCII). Остальные целые числа будут обработаны как строки, содержащие десятичные цифры целых чисел.

Внимание

Начиная с PHP 8.1.0 передача нестроковых аргументов устарела. В будущем аргумент вместо ASCII-кода будет интерпретироваться как строка. В зависимости от предполагаемого поведения аргумент либо преобразовывают в строку (string), либо вызывают функцию chr().

Возвращаемые значения

Возвращает true, если каждый символ в строке text создаёт какое-то пустое пространство, иначе false. Кроме пробела сюда также входят символы табуляции, вертикальной табуляции, перевода строки, возврата каретки и перевода страницы. При вызове с пустой строкой результатом всегда будет false.

Примеры

Пример #1 Пример использования функции ctype_space()

<?php

$strings
= array(
'string1' => "\n\r\t",
'string2' => "\narf12",
'string3' => '\n\r\t' // Обратите внимание, кавычки одинарные
);
foreach (
$strings as $name => $testcase) {
if (
ctype_space($testcase)) {
echo
"Строка '$name' состоит только из пробельных символов.\n";
} else {
echo
"Строка '$name' состоит не только из пробельных символов.\n";
}
}
?>

Результат выполнения приведённого примера:

Строка 'string1' состоит только из пробельных символов.
Строка 'string2' состоит не только из пробельных символов.
Строка 'string3' состоит не только из пробельных символов.

Смотрите также

  • ctype_cntrl() - Проверяет управляющие символы
  • ctype_graph() - Проверяет любые печатные символы кроме пробела
  • ctype_punct() - Проверяет печатные символы, которые не содержат пробельных или буквенно-цифровых символов
  • IntlChar::isspace() - Проверяет, является ли символ пробельным

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