Подтвердить что ты не робот

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

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

4b9b3361

Ответ 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 == '' Это все равно приведет к более быстрому выполнению, чем регулярное выражение или обрезка.

ctype_space


как функция:

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