Ответ 1
if (strlen(trim($str)) == 0)
или если вы не хотите включать пустые строки,
if (strlen($str) > 0 && strlen(trim($str)) == 0)
Как я могу проверить, содержит ли строка только пробелы?
if (strlen(trim($str)) == 0)
или если вы не хотите включать пустые строки,
if (strlen($str) > 0 && strlen(trim($str)) == 0)
echo preg_match('/^ *$/', $string)
Должен работать.
from: fooobar.com/questions/128900/...
Это будет самый быстрый способ:
$str = ' ';
if (ctype_space($str)) {
}
Возвращает false
в пустой строке, потому что пустое не пустое. Если вам нужно включить пустую строку, вы можете добавить || $str == ''
Это все равно приведет к более быстрому выполнению, чем регулярное выражение или обрезка.
как функция:
function stringIsNullOrWhitespace($text){
return ctype_space($text) || $text === "" || $text === null;
}
проверьте, является ли результат trim() длиннее 0
Используйте регулярное выражение:
$result = preg_match('/^ *$/', $text);
Если вы хотите протестировать любые пробелы, а не просто пробелы:
$result = preg_match('/^\s*$/', $text);
Я думаю, что использование регулярных выражений является излишним, но здесь еще один sol'n:
preg_match('`^\s*$`', $str)
другой способ
preg_match("/^[[:blank:]]+$/",$str,$match);
Другой способ, только для воспроизведения
<?php
function is_space_str($str) {
for($i=0,$c=strlen($str);$i<$c;$i++) {
switch (ord($str{$i})) {
case 21:
case 9:
case 10:
case 13:
case 0:
case 11:
case 32:
break;
default:
return false;
}
}
return true;
}
chop($str) === ''
Этого должно быть достаточно.
Если вы используете Ck-editor, вы должны сделать это
if( strlen(trim($value,' ')) == 0 ){
echo "White space found!"
}