|
|
|
| Всем привет !
подскажите скрипт проверки сообщения на матерные слова ! | |
|
|
| |
|
|
|
|
для: dima2207
(09.01.2008 в 06:22)
| | Ну, во-первых, если вы еще не пользовали, то могу посоветовать этот сайт.
Если там ничего нет, то придется писать самому. Для этого нужна большая база данных мата. В принципе, могу вам это соорудить, только базу где взять - не знаю:) Сам генерить не хочу.
Кроме того, что вы хотите делать с матом? Вырезать? Может, заменять нах@#? Может, нужно просто узнавать, есть мат или нет? | |
|
|
|
|
|
|
|
для: SHAman
(09.01.2008 в 10:45)
| | Спасибо большое SHAman !за совет поюзать гугл . Но в данном случае гугл это всеравно что тыкать пальцем в небо ! а по поводу того что-б написать самому , так я не настолько силен в рег. вырах что-бы братся за написание самостоятельно скрипта !
к тому-же я не сторонник изобретать велосипед ! | |
|
|
|
|
|
|
|
для: 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;
}
|
| |
|
|
|
|
|
|
|
для: MIchail1982
(09.01.2008 в 11:45)
| | MIchail1982 , я ж тоже самое писал. Зачем повторяться? | |
|
|
|
|
|
|
|
для: mihdan
(09.01.2008 в 12:48)
| | сорри, не видел | |
|
|
|
|
|
|
|
для: SHAman
(09.01.2008 в 10:45)
| | Если вы собирали на своём сайте мат и можете поделиться накопленным,
то здорово!
Как организовать проверку и что там куда подставлять вместо - я соображу.
А вот сочинять ядрёные слова - тут у меня трудности : )
Можете мою почту наградить своей коллекцией : )
Только заархивируйте, пожалуйста, чтоб не обиделась : ) | |
|
|
|
|
|
|
|
для: Eugene77
(09.01.2008 в 17:28)
| | Можете скачать "Генератор мата" - там огромная база этих самых непристойных слов | |
|
|
|
|
|
|
|
для: mihdan
(09.01.2008 в 21:23)
| | Где? | |
|
|
|
|
|
|
|
для: Eugene77
(10.01.2008 в 17:15)
| | В русском языке, конечно сотни матерных слов, но как известно они все состоят их одних и тех же корней (их буквально 10).
Просто искать их в тексте и граматно вырезать. нужно просто составить перечень слогов, чтоб проходили слова типа "сабля", "заштрихуй" и т.д.
А вообще самый лучший способ - постоянно модерировать свои ресурсы! | |
|
|
|
|
|
|
|
для: Петр
(11.01.2008 в 12:07)
| | Всё это (определения безобидных слов и именно матов) уже реализовано здесь:
http://forum.dklab.ru/php/advises/CensureOpredelenieNalichiyaMataNets enzurnihSlovVTeksteMatotest.html
Тема про антимат поднимается с периодичностью пару раз в месяц наверное, пора бы сделать возможность на форуме, для закрепления частых "горячих" тем (аплоад файлов, ресайз изображений, антимат и т.д.). | |
|
|
|
|
|
|
|
для: Nemezis
(11.01.2008 в 13:27)
| | Битые ссылочки оставляете? | |
|
|
|
|
|
|
|
для: mihdan
(11.01.2008 в 15:58)
| | Уберите пробел... слишком длинное слово. | |
|
|
|
|
|
|
|
для: kasmanaft
(11.01.2008 в 16:12)
| | Вот так походу | |
|
|
|
|
|
|
|
для: mihdan
(11.01.2008 в 15:58)
| | Ещё одна недоработка форума... | |
|
|
|
|
|
|
|
для: Nemezis
(11.01.2008 в 13:27)
| | Интересный скрипт.
Спасибо!
Вообще-то я хотел не только мат отлавливать, но и любые грубые слова.
Писать хотя бы предупреждение, что использование таких слов не совсем этично на данном форуме, или что-то вроде этого.
Поэтому мне скрипт не совсем подходит.
Где-то бы списочек раздобыть... | |
|
|
|
|
|
|
|
для: Eugene77
(11.01.2008 в 19:35)
| | Для русского языка, я думаю, что это нереально. Слишком уж богат он, на разного рода обороты. Если стоит такая задача, как отлов каких либо грубостей - то тут можно сделать только премодерацию и всё. | |
|
|
|
|
|
|
|
для: Nemezis
(11.01.2008 в 22:03)
| | Премодерацию в случае появления подозрительных слов?
Я что-то такое и подразумеваю, не всё же сплошняком просматривать!
Да и богатство оборотов Эллочки-Людоедки вызывает некоторые сомнения.
Кто-то пробовал реально считать?
Боюсь, что за тысячу не уйдёт счётчик, а уж до двух никак не дотянет. | |
|
|
|
|