Как проверить, что строка состоит только из пустых или невидимых символов?

163
16 мая 2021, 16:00

Как проверить, что строка состоит только из пустых или невидимых символов? То есть разрешены любые символы, но строка не может быть, например, такой: " ".

Answer 1

Предлагаю воспользоваться функцией:
trim - Удаляет пробелы (или другие символы) из начала и конца строки.

Если второй параметр не передан, trim() удаляет следующие символы:

" " (ASCII 32 (0x20)), обычный пробел.  
"\t" (ASCII 9 (0x09)), символ табуляции.  
"\n" (ASCII 10 (0x0A)), символ перевода строки.  
"\r" (ASCII 13 (0x0D)), символ возврата каретки.  
"\0" (ASCII 0 (0x00)), NUL-байт.  
"\x0B" (ASCII 11 (0x0B)), вертикальная табуляция.

Можно указать конструкцию .. для обозначения диапазона символов.

// удаляем управляющие ASCII-символы с начала и конца $binary
// (от 0 до 31 включительно)
$binary = "\x09Example string\x0A";
$clean = trim($binary, "\x00..\x1F");

Источник

Следующие условия не вернут Все ок!:

$string = "      ";
if(trim($string)) {
    echo"Все ок!";
}
$string = "\x09\t\r\n\x0A";
if(trim($string,"\x00..\x1F")) {
    echo"Все ок!";
}
Answer 2

Уточните в своём вопросе, что подразумевается под пустыми и невидимыми символами. Здесь мы проверяем, что в строке встречается хотя бы 1 любой непробельный символ, а если будут одни пробелы, то функция вернёт '0'.

if (preg_match_all('/[\S]+/', $string)) {
    //..
}
Answer 3
$string=""; $string1=" "; 
if($string=="" or $string1==" "){ echo "пустая строка";}else{echo "Всё в порядке"; }
Answer 4
$string = "Oh shit, here we go again";
$string_clean = str_replace([" ", "\n"],"", $string); // убираем все пробелы, и прочее что не нужно ([" ", "\n"])
if(strlen($string_clean) == 0 ){ //если после очистки строки ее длина больше 0 символов значит в строке есть текст
    echo "пустая строка";
}else{
    echo "Всё в порядке <br>";
    echo $string;
}
READ ALSO
The &ldquo;dataProvider&rdquo; property must be set

The “dataProvider” property must be set

Работаю с yii2 advanced

112
Кэширование изображений, отдаваемых php

Кэширование изображений, отдаваемых php

Такая ситуация: у меня есть php скрипт, который проверяет авторизирован пользователь или нет и отдает изображения, хранящиеся на этом сервере

87
Почему цикл вывода статей работает только на 1 странице?

Почему цикл вывода статей работает только на 1 странице?

ЗдравствуйтеС помощью данного кода вывожу статьи на главной странице, и все работает, но когда я хочу использовать этот же код на другой странице...

98