Перенаправить пользователя на основе поискового запроса, блокировать определенные слова

Сюжет: Я создаю сайт, на котором будет индексировано множество видео, и я хочу, чтобы люди могли искать видео по ключевым словам и предложениям.

Проблема. Но поскольку все мы знаем, что Интернет переполнен плохими людьми и роботами, которые могут искать плохие слова или предложения, и я хочу передать их на другую страницу. Поэтому, если запрос соответствует определенным заблокированным словам, они должны быть перенаправлены на определенный URL-адрес.

Мне нужен код, похожий на этот код, в котором $badword содержит плохие слова, и я буду любить, если у меня будет широкий матч, поэтому поиск убийства также будет перенаправлен на /badsearch/, потому что задница будет плохим словом.

2 ответа

Поиск и сбор всех меня отвели. Этот ответ может помочь другим людям. Это также будет работать, если пользователь вводит DoG или cAt. Это будет искать слово после каждого пространства, поэтому, если у вас есть запрос типа "У меня плохая собака", это сработает.


Простому решению может понравиться следующее:

$user_input = $_GET['q']);
$badword_list= array("badword1", "badword2", "badword3", "badword4", ...);

if(in_array($user_input, $badword_list)) 
 $url = "something";
else
 $url = "something else";

или использовать if (preg_match('/\b(badword1|badword2|badword3|badword4)\b/i',$user_input ))

licensed under cc by-sa 3.0 with attribution.