Как реализовать хороший фильтр ненормативной лексики?

Многим из нас приходится иметь дело с пользовательским вводом, поисковыми запросами и ситуациями, когда вводимый текст может содержать ненормативную лексику или нежелательный язык. Часто это нужно отфильтровать.

Где можно найти хороший список нецензурных слов на разных языках и диалектах?

Доступны ли API для источников, которые содержат хорошие списки? Или, может быть, API, который просто говорит «да, это чисто» или «нет, это грязно» с некоторыми параметрами?

Какие есть хорошие методы для ловли людей, пытающихся обмануть систему, например, $, azz или a55?

Бонусные баллы, если вы предлагаете решения для PHP. :)

Изменить: Ответ на ответы, которые говорят, просто избежать программной проблемы:

Я думаю, что есть место для такого рода фильтров, когда, например, пользователь может использовать общедоступный поиск изображений, чтобы находить изображения, которые добавляются в чувствительный пул сообщества. Если они могут искать «пенис», то они, скорее всего, получат много фотографий, да. Если нам не нужны картинки этого, то предотвращение слова в качестве поискового запроса - это хороший привратник, хотя и не надежный метод. Получение списка слов в первую очередь является реальным вопросом.

Так что я действительно имею в виду способ выяснить, является ли грязный токен единственным или нет, а затем просто запретить его. Я бы не стал предотвращать такое чувство, как совершенно смешное упоминание о «длинношерстном жирафе». Вы ничего не можете сделать там. :)

Ответы на вопрос(19)

Ваш ответ на вопрос