Скачал и поставил instantcms.ru/blogs/mysli-ob-instantcms/plagin-anti-mat-v-komentarijah-saita.html#c
Очень доволен, спасибо автору!
Но как поправить следующее?!
потре[*цензура*]йте
Как сделать так, что бы в таких словах не выводилась [*цензура*]. Плагин заменяет фильтр слова даже внутри слова.
Спасибо очень жду ответа!
#1
13 июля 2011 в 01:52
#2
13 июля 2011 в 03:41
Как вариант вбейте в поиске по файлам слово"цензура" найдите его и замените например на звездочку или оставте поле пустым…
#3
13 июля 2011 в 03:56
редактируйте код плагина.Если не нашли вариантов, редактируйте базу слов))
Сегодня в 05:25
#4
13 июля 2011 в 06:10
Он имеет ввиду, чтобы слова такие как: потреБЛЯйте не попадали под действие фильтра!
#5
13 июля 2011 в 14:02
Анатолий, совершенно верно!
#6
18 июля 2011 в 00:18
1) в файле core/cms.php создаем функцию
2) скачиваем архив instantcms.ru/users/files/download1265.html и заливаем
в корень сайта.
3) Все теперь там где ругаются сильно вызываем функцию antimat(str).
Например для комментов — правим в файле components/comments/frontend.php
после строчек
ДОБАВЛЯЕМ ВСЕГО ОДНУ СТРОКУ
Ну все. Вроде ничего не забыл.
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: посмотрел в базу заносится уже отфильтрованный коммент, откуда же тогда берется мат в ориг. виде при редактировании поста — из кеша???
только вставлять надо еще и в блоке if ($do=='edit'), иначе после редактирования камента весь мат вылезет опять. Кстати словарик в классе маловат, например "бля" не фильтруется, зато сочетание "еб" вырезается (потр***ность) А до занесения в базу нельзя такое организовать? Так проще отфильтровать, чем потом по модулям выискивать.
UPD: посмотрел в базу заносится уже отфильтрованный коммент, откуда же тогда берется мат в ориг. виде при редактировании поста — из кеша???
#8
18 июля 2011 в 19:58
потреБЛЯйте хоть не трогает как просили)))
бля — это не мат)
так организовано походу.
бля — это не мат)
А до занесения в базу нельзя такое организовать?
так организовано походу.
редактируйте код плагина.Если не нашли вариантов, редактируйте базу слов))
А что в этом коде есть база слов??? Не могли бы скрин скинуть тех строк в которые надо добаллять марерные слова, и еще вопрос, если добавлять матерные слова целиком, наверное можно минимизировать такие варианты типа
потре[*цензура*]йте???
А это не они?
#11
23 мая 2012 в 23:04
А это не они?
Да я вот тоже сначало так подумал, но в итоге при добавлении одного из матерных слов в любую из строк ни какого эфекта не происходит!!! мат продолжает созерцать на сайте, вот поэтому как бы и задал вопрос!!! может я что не так делаю вы уж просветите дурака???
#12
26 октября 2019 в 17:18
а в двойку такое засунуть можно или надо править код?
#13
26 октября 2019 в 17:53
Вот этот скрипт ставил когда нужно было. Просто и работает.а в двойку такое засунуть можно
github.com/itlessons/js-antimat
#14
26 октября 2019 в 19:24
Анти мат есть в сайт краеторе
#15
26 октября 2019 в 19:49
Как сделать чтобы работал для поле текст и для комментариев одновременно?