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