Это скорее комментарий, чем ответ, но комментарии ограничены по длине, и здесь есть большие проблемы.
Я полагаю, что вы в основном задаете неправильный вопрос!
Конечно, словарии черный список будет выделять слова или фразы, которые вы хотите запретить, но будет ли этот список приемлемым для пользователей вашей системы?Будет ли текст, который пользователи вашей системы сочтут оскорбительным, а вы нет.Кто решает?
Например, могут ли люди, живущие здесь , испытывать проблемы или действительно люди, живущие здесь .Что, если вы поддержали эту команду по футболу / футболу . Этот человек , вероятно, никогда не посещает Великобританию.
Тогда вы попадаете в проблему анаграмм и сленга. FCUK - популярный бренд в Великобритании (и я уверен, что в других местах).И еще есть pr0n
(без ссылки!) Или NAMBLA .
Реальный вопрос - Как я могу помешать людям, использующим систему, использовать язык, который обычно неприемлем?И это больше проблема дизайна / социальной инженерии, чем проблема программирования.Я не думаю, что на этом сайте есть фильтрация слов / фраз, но здесь нет ничего, что могло бы оскорбить кого-либо.
Вот идея - пусть ваши пользователи решат, что приемлемо!Используйте систему, основанную на репутации.Разрешить пользователям голосовать за пользователей, которые ведут себя, и голосовать за пользователей, которые вызывают оскорбления (с возможностью предоставления пользователям возможности оставлять отзывы о голосовании, чтобы дать им возможность исправить свои пути), а затем иметь возможность отфильтровывать пользователей с низким /отрицательная репутация.