Очень доволен, спасибо автору!
Но как поправить следующее?!
потре[*цензура*]йте
Как сделать так, что бы в таких словах не выводилась [*цензура*]. Плагин заменяет фильтр слова даже внутри слова.
Спасибо очень жду ответа!
public static function antimat($str){ include_once(PATH.'/core/classes/antimat.class.php'); include_once(PATH.'/core/classes/ReflectionTypehint.php'); include_once(PATH.'/core/classes/UTF8.php'); $mat = Censure::parse($str,'10','',true,'***','CP1251'); return $mat; }
в корень сайта.
3) Все теперь там где ругаются сильно вызываем функцию antimat(str).
Например для комментов — правим в файле components/comments/frontend.php
после строчек
if ($do=='add'){ //Удаляем сообщение об ошибках комментариев $error = ''; $captha_code = $inCore->request('code', 'str', ''); $guestname = $inCore->request('guestname', 'str', ''); $user_id = $inCore->request('user_id', 'int', 0); if ($inCore->isUserCan('comments/bbcode') && ($cfg['bbcode'] || $cfg['smiles'])) { $content = $inCore->request('content', 'html', ''); $content_bb = $inDB->escape_string($content); $content = $inCore->parseSmiles($content, true); $content = $inDB->escape_string($content); } else { $content = $inCore->request('content', 'str', ''); $content_bb = ''; }
$content = $inCore->antimat($content); // фильтр мата
только вставлять надо еще и в блоке if ($do=='edit'), иначе после редактирования камента весь мат вылезет опять. Кстати словарик в классе маловат, например "бля" не фильтруется, зато сочетание "еб" вырезается (потр***ность) А до занесения в базу нельзя такое организовать? Так проще отфильтровать, чем потом по модулям выискивать.
UPD: посмотрел в базу заносится уже отфильтрованный коммент, откуда же тогда берется мат в ориг. виде при редактировании поста — из кеша???
бля — это не мат)
А до занесения в базу нельзя такое организовать?
так организовано походу.
редактируйте код плагина.Если не нашли вариантов, редактируйте базу слов))
А что в этом коде есть база слов??? Не могли бы скрин скинуть тех строк в которые надо добаллять марерные слова, и еще вопрос, если добавлять матерные слова целиком, наверное можно минимизировать такие варианты типа
потре[*цензура*]йте???
А это не они?
Да я вот тоже сначало так подумал, но в итоге при добавлении одного из матерных слов в любую из строк ни какого эфекта не происходит!!! мат продолжает созерцать на сайте, вот поэтому как бы и задал вопрос!!! может я что не так делаю вы уж просветите дурака???
Вот этот скрипт ставил когда нужно было. Просто и работает.а в двойку такое засунуть можно
github.com/itlessons/js-antimat