Фильтрация....

rsha1988

Новичок
Фильтрация....

Помогите плиз, нуна сделать фильтрацию "$comments_text"

Я сделал так:

PHP:
else if (!str_replace("Ляля","",$comments_text))

    {
        error('Бла бла бла');
    }
"Ляля" - это слово которое блокируется.....

Но возникла проблемка:
Если написать в посте "Ляля" то error - работает!
Но если например в посте написать "Шла Саша по Ляля" то не пашет, сообщение проходит!
Можете сказать -почаму? :confused: :rolleyes:
 

WP

^_^
OMG. А ты вдумайся в то что ты написал. Если перевести на слова: если приведение к булеану строки которая получается после замены Ляли на пустую строку в переменной $comments_text, дает ложь то error.
> Если написать в посте "Ляля" то error - работает!
str_replace("Ляля","",$comments_text) в этом случае даст пустую строку, приведение к булеану пустой строки дает ложь, и условие выполняется. А когда "Шла Саша по Ляля", остается "Шла Саша по ", и дает истину, условие не выполняется.
PHP:
if (strpos($comments_text,'Ляля') !== FALSE)
{
 error('Бла бла бла');
}
то что нужно.
 

SelenIT

IT-лунатик :)
Можем. Потому что результат приведенного str_replace есть строка "Шла Саша по ", которая соответствует true, а следовательно ее отрицание есть false.

Для проверки наличия подстроки есть другие ф-ции, напр. [m]strpos[/m].

ps. дуплет :)
pps. даже триплет :) :)
 

rsha1988

Новичок
WP
Спасибо, работает!
Ну я просто недавно стал php изучать так что я еще "Того"... =)
Всем остальным тоже большое спасибо за помощь!
 
Сверху