Как я могу проверить, содержит ли строка только пробелы?
if (strlen(trim($str)) == 0)
или если вы не хотите включать пустые строки,
if (strlen($str) > 0 && strlen(trim($str)) == 0)
echo preg_match('/^ *$/', $string)
Должно сработать.
от: https://stackoverflow.com/a/2992388/160173
Это будет самый быстрый способ:
$str = ' '; if (ctype_space($str)) { }
Возвращает false
в пустой строке, потому что пустой не является пробелом. Если вам нужно включить пустую строку, вы можете добавить || $str == ''
|| $str == ''
Это все равно приведет к более быстрому выполнению, чем к регулярному выражению или обрезке.
ctype_space
как функция:
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-редактор, тогда вы должны это сделать
if( strlen(trim($value,' ')) == 0 ){ echo "White space found!" }