Многим из нас приходится иметь дело с пользовательским вводом, поисковыми запросами и ситуациями, когда вводимый текст может содержать ненормативную лексику или нежелательный язык. Часто это нужно отфильтровать.
Где можно найти хороший список нецензурных слов на разных языках и диалектах?
Доступны ли API для источников, содержащих хорошие списки? Или, может быть, API, который просто говорит «да, это чисто» или «нет, это грязно» с некоторыми параметрами?
Какие есть хорошие методы для ловли людей, пытающихся обмануть систему, например, $$, azz или a55?
Бонусные баллы, если вы предлагаете решения для PHP. :)
Редактировать: Ответ на ответы, в которых говорится, просто избегайте программной проблемы:
Я думаю, что для такого рода фильтров есть место, когда, например, пользователь может использовать общедоступный поиск изображений для поиска изображений, которые добавляются в пул конфиденциальных сообществ. Если они могут искать «пенис», то они, скорее всего, получат много фотографий, да. Если нам не нужны картинки этого, то предотвращение слова в качестве поискового запроса - это хороший привратник, хотя и не надежный метод. Получение списка слов в первую очередь является реальным вопросом.
Так что я действительно имею в виду способ выяснить, является ли грязный токен грязным или нет, а затем просто запретить его. Я бы не стал предотвращать такое чувство, как совершенно смешное упоминание о «длинношерстном жирафе». Вы ничего не можете сделать там. :)