http://www.phpbb.com/phpBB/viewtopic.php?t=354376
Этот мод не даёт запостить на форум сообщение, если оно содержит спамерские слова. Список слов задаётся в админке, можно использовать '*' для замены группы символов. Там же можно определить, что делать с сообщениями, содержащими спамерские слова.
Мод мне очень понравился. Но, к сожалению, к нему нет русских текстов. Но это ещё пол беды. Он прекрасно отлавливает английские слова и совершенно не хочет определять русский спам. Например, слова "sex", "porno" он вылавливает и определяет сообщение как спам, а аналогичные русские: "секс", "порно" - не хочет.
Мне кажется, что проблема в функции сheck_spam в файле spamwords.php в аргументах фаункции preg_match
Код: Выделить всё
if ($row = $db->sql_fetchrow($result))
{
do
{
if (preg_match('#\b(' . str_replace('\*', '\w*?', phpbb_preg_quote($row['spam_word'], '#')) . ')\b#i', $message) || preg_match('#\b(' . str_replace('\*', '\w*?', phpbb_preg_quote($row['spam_word'], '#')) . ')\b#i', $subject))
Я слабо рабираюсь в PHP, ещё хуже в PERL. Посмотрите, кто понимает, по-моему там с шаблоном (первый аргумент фунции) проблема.