Фильтр плохого слова в PHP?
Я пишу фильтр плохого слова в PHP.
У меня есть список плохих слов в массиве, и метод cleanse_text () написан так:
public static function cleanse_text($originalstring){
if (!self::$is_sorted) self::doSort();
return str_ireplace(self::$badwords, '****', $originalstring);
}
Это работает тривиально, для точных совпадений, но я хотел также подвергнуть цензуре слова, которые были замаскированы как 'ab * d', где 'abcd' - плохое слово. Это оказывается немного сложнее.
Вот мои вопросы:
Стоит ли беспокоиться о фильтре плохого слова (это сайт для профессионалов, поэтому требуется определенный минимум приличия - я бы подумал)
Стоит ли пытаться поймать очевидные обходные пути, такие как 'f * ck', или я не должен пытаться отфильтровать их?
Есть ли лучший способ написания метода cleanse_text () выше?