| |
|
|
| | Здравствуйте,
Хочу сделать проверку содержания переменной, переданной через 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 | |
| |
|
|