Этот вопрос о строках уже задавался, однако * ни один из рассмотренных мной вопросов (не моды не удаляют или не сообщают нам, что это дубликат) на самом деле не отвечает на мой вопрос.
У меня есть целевая страница с простой подпиской по электронной почте. В последнее время люди злоупотребляют этим, вводя иностранные символы, такие как *, #, $,%, а также намеренно используют ненормативную лексику (вы всегда можете сказать). У меня есть набор запрещенных символов и слов, которые я использую следующим образом
$banned = array("f**k", "f******", "blah", "*", "#", "$", "%");
Я могу точно сказать, что кто-то снова и снова намеренно пытался пройти через это, потому что я пропустил некоторые символы, и внезапно была введена куча адресов, не имеющих никакого смысла. Мне нужно знать, как использовать цикл For, чтобы пройти и выяснить, содержит ли следующее какое-либо из запрещенных слов в массиве
$email = $_POST['email'];
Я пробовал использовать
$arrlen = count($banned);
for($i=0; $i < $arrlen; $i++) {
if(stripos($email, $banned[$i] !== false) {
echo 'Banned word or character!';
}
else {
echo 'Email signed up!';
}
}
Это вообще не сработало! Я попробовал старую функцию is_str_contain, но ошибка функции не существует.
Я пробовал и обычные strpos, все равно без радости.
PHP warning: Did not work at all at line 4
? Также добавьте отчет об ошибках (ini_set("display_errors", 1); error_reporting(E_ALL);
) в начало файла (ов) и проверьте наличие ошибок + Дайте нам реальный пример - person Rizier123   schedule 11.09.2015)
в вашем операторе if - person Rizier123   schedule 11.09.2015