Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Анти мат .
 
 автор: dima2207   (09.01.2008 в 06:22)   письмо автору
 
 

Всем привет !
подскажите скрипт проверки сообщения на матерные слова !

   
 
 автор: mihdan   (09.01.2008 в 10:44)   письмо автору
 
   для: dima2207   (09.01.2008 в 06:22)
 

http://softtime.ru/info/matu_net.php

   
 
 автор: SHAman   (09.01.2008 в 10:45)   письмо автору
 
   для: dima2207   (09.01.2008 в 06:22)
 

Ну, во-первых, если вы еще не пользовали, то могу посоветовать этот сайт.

Если там ничего нет, то придется писать самому. Для этого нужна большая база данных мата. В принципе, могу вам это соорудить, только базу где взять - не знаю:) Сам генерить не хочу.

Кроме того, что вы хотите делать с матом? Вырезать? Может, заменять нах@#? Может, нужно просто узнавать, есть мат или нет?

   
 
 автор: dima2207   (09.01.2008 в 11:18)   письмо автору
 
   для: SHAman   (09.01.2008 в 10:45)
 

Спасибо большое SHAman !за совет поюзать гугл . Но в данном случае гугл это всеравно что тыкать пальцем в небо ! а по поводу того что-б написать самому , так я не настолько силен в рег. вырах что-бы братся за написание самостоятельно скрипта !
к тому-же я не сторонник изобретать велосипед !

   
 
 автор: MIchail1982   (09.01.2008 в 11:45)   письмо автору
 
   для: dima2207   (09.01.2008 в 11:18)
 

немного добавлений http://softtime.ru/info/matu_net.php
если надо только мониторить мат

function antimat($message)
    {
    echo $message,"<hr>";
    $rus = array("ж", "Ж", "ё", "Ю", 
"Ю", "ю", "ю", "ш", "э", "я", "я", "Ш", 
"Ч", "ч", "Ё", "Я", "Я", "Э", "и", "у", 
"н", "г", "з", "х", "ф", "й", "в", "п", 
"p", "л", "д", "с", "м", "т", "б", "Й", 
"У", "Н", "Г", "З", "Х", "Ф", "Й", "В", 
"А", "П", "Р", "Л", "Д", "С", "И", "А", 
"а", "В", "Е", "е", "К", "М", "Н", "О", 
"о", "Р","р", "С", "с", "Т", "Х", "х");
    $eng = array("zh", "Zh", "yo", 
"Yu", "Ju", "ju", "yu", "sh", "yе", "jа", 
"yа", "Sh", "Ch", "ch", "Yo", "Ya", "Ja", 
"Ye", "i", "u", "n", "g", "z", "h", "f", 
"y", "v", "p", "r", "l", "d", "s", "m", 
"t", "b", "I", "U", "N", "G", "Z", "H", 
"F", "Y", "V", "A", "P", "R", "L", "D", 
"S", "I", "A", "a", "B", "E", "e", "K", 
"M", "H", "O", "o", "P", "p", "C", "c", 
"T", "X", "x");
    $message = str_replace($eng, $rus, $message);
    echo $message,"<hr>";
    $pattern = "/\w{0,5}[хx]([хx\s\!@#\$%\^&*+-\|". "\/]{0,6})[уy]([уy\s\!@#\$%\^&*+-\|".
"\/]{0,6})[ёiлeеюийя]\w{0,7}|".
"\w{0,6}[пp]([пp\s\!@#\$%\^&*+-\|".
"\/]{0,6})[iие]([iие\s\!@#\$%\^&*+-\|".
"\/]{0,6})[3зс]([3зс\s\!@#\$%\^&*+-\|".
"\/]{0,6})[дd]\w{0,10}|".
"[сcs][уy]([уy\!@#\$%\^&*+-\|".
"\/]{0,6})[4чkк]\w{1,3}|".
"\w{0,4}[bб]([bб\s\!@#\$%\^&*+-\|".
"\/]{0,6})[lл]([lл\s\!@#\$%\^&*+-\|".
"\/]{0,6})[yя]\w{0,10}|".
"\w{0,8}[её][bб][лске@eыиаa][наи@йвл]\w{0,8}|\w{0,4}[еe]([еe\s\!@#\$%\^&*+-\|".
"\/]{0,6})[бb]([бb\s\!@#\$%\^&*+-\|".
"\/]{0,6})[uу]([uу\s\!@#\$%\^&*+-\|".
"\/]{0,6})[н4ч]\w{0,4}|".
"\w{0,4}[еeё]([еeё\s\!@#\$%\^&*+-\|".
"\/]{0,6})[бb]([бb\s\!@#\$%\^&*+-\|".
"\/]{0,6})[нn]([нn\s\!@#\$%\^&*+-\|".
"\/]{0,6})[уy]\w{0,4}|".
"\w{0,4}[еe]([еe\s\!@#\$%\^&*+-\|".
"\/]{0,6})[бb]([бb\s\!@#\$%\^&*+-\|".
"\/]{0,6})[оoаa@]([оoаa@\s\!@#\$%\^&*+-\|".
"\/]{0,6})[тnнt]\w{0,4}|".
"\w{0,10}[ё]([ё\!@#\$%\^&*+-\|".
"\/]{0,6})[б]\w{0,6}|".
"\w{0,4}[pп]([pп\s\!@#\$%\^&*+-\|".
"\/]{0,6})[иeеi]([иeеi\s\!@#\$%\^&*+-\|".
"\/]{0,6})[дd]([дd\s\!@#\$%\^&*+-\|".
"\/]{0,6})[oоаa@еeиi]([oоаa@еeиi\s\!@#\$%\^&*+-\|\/]{0,6})[рr]\w{0,12}/i";
    if(preg_match($pattern,$message))
        return true;
    else
        return false;
    }

   
 
 автор: mihdan   (09.01.2008 в 12:48)   письмо автору
 
   для: MIchail1982   (09.01.2008 в 11:45)
 

MIchail1982 , я ж тоже самое писал. Зачем повторяться?

   
 
 автор: MIchail1982   (09.01.2008 в 13:13)   письмо автору
 
   для: mihdan   (09.01.2008 в 12:48)
 

сорри, не видел

   
 
 автор: Eugene77   (09.01.2008 в 17:28)   письмо автору
 
   для: SHAman   (09.01.2008 в 10:45)
 

Если вы собирали на своём сайте мат и можете поделиться накопленным,
то здорово!
Как организовать проверку и что там куда подставлять вместо - я соображу.
А вот сочинять ядрёные слова - тут у меня трудности : )

Можете мою почту наградить своей коллекцией : )
Только заархивируйте, пожалуйста, чтоб не обиделась : )

   
 
 автор: mihdan   (09.01.2008 в 21:23)   письмо автору
 
   для: Eugene77   (09.01.2008 в 17:28)
 

Можете скачать "Генератор мата" - там огромная база этих самых непристойных слов

   
 
 автор: Eugene77   (10.01.2008 в 17:15)   письмо автору
 
   для: mihdan   (09.01.2008 в 21:23)
 

Где?

   
 
 автор: Петр   (11.01.2008 в 12:07)   письмо автору
 
   для: Eugene77   (10.01.2008 в 17:15)
 

В русском языке, конечно сотни матерных слов, но как известно они все состоят их одних и тех же корней (их буквально 10).
Просто искать их в тексте и граматно вырезать. нужно просто составить перечень слогов, чтоб проходили слова типа "сабля", "заштрихуй" и т.д.

А вообще самый лучший способ - постоянно модерировать свои ресурсы!

   
 
 автор: Nemezis   (11.01.2008 в 13:27)   письмо автору
 
   для: Петр   (11.01.2008 в 12:07)
 

Всё это (определения безобидных слов и именно матов) уже реализовано здесь:
http://forum.dklab.ru/php/advises/CensureOpredelenieNalichiyaMataNets enzurnihSlovVTeksteMatotest.html
Тема про антимат поднимается с периодичностью пару раз в месяц наверное, пора бы сделать возможность на форуме, для закрепления частых "горячих" тем (аплоад файлов, ресайз изображений, антимат и т.д.).

   
 
 автор: mihdan   (11.01.2008 в 15:58)   письмо автору
 
   для: Nemezis   (11.01.2008 в 13:27)
 

Битые ссылочки оставляете?

   
 
 автор: kasmanaft   (11.01.2008 в 16:12)   письмо автору
 
   для: mihdan   (11.01.2008 в 15:58)
 

Уберите пробел... слишком длинное слово.

   
 
 автор: mihdan   (11.01.2008 в 16:26)   письмо автору
 
   для: kasmanaft   (11.01.2008 в 16:12)
 

Вот так походу

   
 
 автор: Nemezis   (11.01.2008 в 16:37)   письмо автору
 
   для: mihdan   (11.01.2008 в 15:58)
 

Ещё одна недоработка форума...

   
 
 автор: Eugene77   (11.01.2008 в 19:35)   письмо автору
 
   для: Nemezis   (11.01.2008 в 13:27)
 

Интересный скрипт.
Спасибо!
Вообще-то я хотел не только мат отлавливать, но и любые грубые слова.
Писать хотя бы предупреждение, что использование таких слов не совсем этично на данном форуме, или что-то вроде этого.
Поэтому мне скрипт не совсем подходит.
Где-то бы списочек раздобыть...

   
 
 автор: Nemezis   (11.01.2008 в 22:03)   письмо автору
 
   для: Eugene77   (11.01.2008 в 19:35)
 

Для русского языка, я думаю, что это нереально. Слишком уж богат он, на разного рода обороты. Если стоит такая задача, как отлов каких либо грубостей - то тут можно сделать только премодерацию и всё.

   
 
 автор: Eugene77   (12.01.2008 в 18:46)   письмо автору
 
   для: Nemezis   (11.01.2008 в 22:03)
 

Премодерацию в случае появления подозрительных слов?
Я что-то такое и подразумеваю, не всё же сплошняком просматривать!
Да и богатство оборотов Эллочки-Людоедки вызывает некоторые сомнения.
Кто-то пробовал реально считать?
Боюсь, что за тысячу не уйдёт счётчик, а уж до двух никак не дотянет.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования