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