Mike_Ro
@Mike_Ro
Python, JS, WordPress, SEO, Bots, Adversting

Проверка на пустоту, как?

Всем привет!
Написал шорткод для WP и столкнулся со следующей проблемой, а именно:

if ($content && $content != '')

1. Условие ВЕРНО, если шорткод такого вида: [cm_info_block][/cm_info_block]

2. Условие НЕ верно, если шорткод такого вида:
[cm_info_block]
[/cm_info_block]


Почему во втором варианте условие НЕ верно, если между тегами нет <br>, пробелов итп, т.е. там пусто. На что проверять это 'пустое' место?

Спасибо!

UPD: $content - содержимое между тегами шорткода [] и [/] .
  • Вопрос задан
  • 526 просмотров
Решения вопроса 1
@GenkaOk
Почему-бы не проверять на if ($content && trim($content) != '')

или сразу:
$content = trim($content);
if (!empty($content))


php.net/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)), вертикальная табуляция.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Stalker_RED
@Stalker_RED
пустая строка '' это не то-же самое, что перевод строки
'
'


if (ctype_space($testcase)) {
    echo "The string '$name' consists of whitespace characters only.\n";
} else {
    echo "The string '$name' contains non-whitespace characters.\n";
}
© php.net/manual/ru/function.ctype-space.php
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы