PHP 8.4.2 Released!

ctype_space

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

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

Описание

ctype_space(mixed $text): bool

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

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

text

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

Замечание:

Функция интерпретирует целое число (int) как ASCII-значение одного символа, если передали целое число в диапазоне между -128 и 255 включительно; к отрицательным значениям добавляется 256, чтобы разрешить символы из диапазона кодировки Extended 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() - Проверяет, является ли символ пробельным

Добавить

Примечания пользователей 2 notes

up
6
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
2
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