|
|
|
| Здравствуйте,
Хочу сделать проверку содержания переменной, переданной через POST на наличие определенных фраз, как такое можно реализовать? Через какую функцию?
<?
if(...$message...содержит, например, фразу "<a href"...) { $error.="Это спам"; }
?>
|
Заранее очень благодарен. Каптча не спасает что-то. | |
|
|
|
|
|
|
|
для: Stifter2
(25.04.2009 в 12:12)
| | с помощью регулярных выражений preg_match | |
|
|
|
|
|
|
|
для: nikita2206
(25.04.2009 в 12:42)
| | регулярные выражения здесь не требуются.
достаточно strpos() | |
|
|
|
|
|
|
|
для: Trianon
(25.04.2009 в 13:04)
| | stripos() | |
|
|
|
|
|
|
|
для: Trianon
(25.04.2009 в 13:04)
| | Так strpos() только позицию вернет же? или нет? | |
|
|
|
|
|
|
|
для: Stifter2
(25.04.2009 в 13:49)
| | он возращает позицию, а его тип говорит о том, нашел ли он вообще чтолибо...
тоесть if(stripos($message, 'http://') === TRUE) exit('SPAM'); // если "тождественно" равно то это спам....
http://www.php.su/learnphp/operators/?compar | |
|
|
|
|
|
|
|
для: nikita2206
(25.04.2009 в 13:56)
| | Ага, понял, только сделал и пост прочитал ваш. Всё равно спасибо! | |
|
|
|
|
|
|
|
для: nikita2206
(25.04.2009 в 13:56)
| | и часто у Вас stripos() возвращает результат, тождественно равный true? | |
|
|
|
|
|
|
|
для: Trianon
(25.04.2009 в 14:18)
| | === называют тождественным равенством... если честно я сам незнаю что значит тождественно... | |
|
|
|
|
|
|
|
для: nikita2206
(25.04.2009 в 14:27)
| | Почитайте в мануале.
stripos() true не возвращает, поэтому код работать правильно не будет. | |
|
|
|
|
|
|
|
для: nikita2206
(25.04.2009 в 14:27)
| | === false
означает что функция возвращает именно false именно типа bool.
Не 0, 0.0, не "", не null и не array() , хотя все эти значения равны после приведения типов.
А именно false
И в данном контексте это оправданно.
Потому что если функция вернула 0 - это значит, что она обнаружила появление искомой подстроки в самом начале - на позиции 0.
Если функция вернула false - значит, что подстрока не нашлась вообще.
А Вы написали чушь. Потому что true эта функция не возвращает никогда. | |
|
|
|
|
|
|
|
для: Trianon
(25.04.2009 в 13:04)
| | Вот что-то вроде этого сделать?
<?
$stri = 0;
$stri = strpos("$message", "<a href");
if($stri != 0) { $error.="Это спам"; }
?>
|
| |
|
|
|
|
|
|
|
для: Stifter2
(25.04.2009 в 13:56)
| | <a onclick="" href="jkhkj">lkjlk</a>
это не спам | |
|
|
|
|
|
|
|
для: nikita2206
(25.04.2009 в 13:57)
| | Ну тогда можно поставить </a> или href | |
|
|
|