Если строка содержит только пробелы?

Как я могу проверить, содержит ли строка только пробелы?

 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,'&nbsp;')) == 0 ){ echo "White space found!" }