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