У меня есть контактная форма, мне нужно отфильтровать несколько слов.
Я делаю это следующим образом:
$array = array('lorem', 'ipsum', 'ip.sum');
for($i = 0; $i < count($array); $i++)
{
if( preg_match("/".$array[$i]."/", (string) $field) )
{
return false;
}
}
Я не мастер регулярных выражений, но это должно работать для таких слов, как: lorem или ipsum. Но это не так.
КСТАТИ. Любые предложения, как поймать неправильно написанные слова, напр. i.psum, l.o.rem?
Обновление
Конечно, у меня нет пустого шаблона, я просто забыл его вставить.
Обновление 2
Я решил найти способ, предложенный Даниэлем Вандерслойсом . Abnyway, я не могу заставить его работать.
$field = "ipsum lorem"; // This value comes from textarea
$array = array('ipsum', 'lorem', 'ip.sum');
foreach($array as $term):
if(preg_match('/'.preg_quote($term).'/', $field)) {
return false;
}
endforeach;
Есть идеи?