[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: АнтиМАТ (простенький)
Страницы: 1, 2
DySprozin
twin
;;Можно заменить у на y и ничего не поделаешь
справедливости ради надо заметить, что скрипт это учитывает (;

;;Вообще антимат - утопия. Модераторы рулят.
+100500 (; на некоторых форумах доходит до абсурда: "оскорблять" заменятся на "оскор[consored]" laugh.gif

inpost
;;Я не уверен, но мне почему-то кажется, что 4 отдельных регулярки было бы лучше,
;;чем вот такой гигант.
ну да, читабельнее было бы и править легче (;

//убрал бред

_____________
Господа! Я ненавижу выканье на форумах, обращайтесь ко мне на ты.
Господа! Я буду тоже тыкать, но если это так кого-то из вас коробит, пожалуйста, предупреждайте меня об этом
---
Можешь помочь — помоги, не можешь — попытайся, не хочешь — уйди.
Nikitian
Только если в академических целях сей велосипед полезен.
Для типографики использую плагин для tinymce.
Для детектирования мата это, Замечу, что именно детектирования, а не автоматического вырезания. Имхо, автоматом вырезать неправильно: либо разрешаете мат, либо запрещаете, а не правите чужой контент как свой.
AlexanderC

$str = preg_replace("/([^a-z0-9а-яё[:space:]])/i", " $1 ", $str);
$str = preg_replace("/([[:space:]])*/", "$1", $str);

что-то типо этого надо было для отступов если так
webwindows
Цитата (МеняНиктоНеЗнает @ 29.07.2011 - 13:13)
Проще вообще на javascript сделать. Этот я сам написал, здесь есть все словоформы, которые "собираются по кусочкам".


badWords = /([a-zа-яё]*(х|x|\*|@)(у+|y+|ы+|\*|@)(й|и|я|е|e|ё|ю|ли|ле|ля)[a-zа-яё]*|[a-zа-яё]*п(и+|\*|@)(з+|с+|z+|\*|@|3+)(д|d|жив)[a-zа-яё]*|[a-zа-яё]*([^а-яё]|во|[^а-яё]о|ой|ай|б|вы|про)б(л+|\*|@)(я|еа|ея|иа|ия|\*|@)[a-zа-яё]*|[a-zа-яё]*(с|сц|cц|c)(у+|y+|\*|@)(ka|ка|ко|ko|ки|чка|чко|чар|чья|чьи)[a-zа-яё]*|[a-zа-яё]*(у|y|а|a|о|o|ы|е|e|ё|и|ь|ъ|[^а-яё])(е +б|e+б|ё+б|йоб|йёб|[^а-я](е|я)по+на|\*б|е\*|ё\*|@б|е@|ё@)(а|a|и|у|y|н|л|ё|е|e|ы|т|[^а-яё])[a-zа-яё]*|[a-zа-яё]*(п|\*|@)(и+|\*|@)(д+|\*|@)(о|o|е|e|а|a|э|\*|@)р[a-zа-яё]*|[a-zа-яё]*п(е+|e+|и|\*|@)д(ик|ри+л|о+вк|рё+н|ре+н|р+[^а-яё])[a-zа-яё]*|[a-zа-яё]*г(а|a|о|o|\*|@)нд(о+|o+|\*|@)н[a-zа-яё]*|[a-zа-яё]*з(а|a|\*|@)(л|\*|@)(у+|y+|\*|@)п[a-zа-яё]*|[a-zа-яё]*др(а|a|о|o|\*|@)(ч|4|\*|@)[a-zа-яё]*|[a-zа-яё]*м(у+|y+|\*|@)д(а+|и+|о+|е+|я|вин|\*|@)[a-zа-яёё]*|[a-zа-яёё]*ц(е+|e+|\*|@)л(очк|o4k|о4к|k|к)[a-zа-яё]*|[a-zа-яё]*тр(а|a|\*|@)(х|x|\*|@)(а|a|о|o|н|\*|@)[a-zа-яё]*)/i
function antiMat() {
document.form.text.value = " " + document.form.text.value + " ";
if(badWords.test(document.form.text.value)) {
do {
document.form.text.value = document.form.text.value.replace(badWords,"[censored]");
}
while (document.form.text.value != document.form.text.value.replace(badWords,"[censored]"))
return true;
}
else return true;
}


Здесь
<form name=form onsubmit="return antiMat();">

и
<textarea name=text>

Скрипт заменяет мат на "[censored]" еще перед отправкой.

с джава не согласен я его затру и таких матов на отправляю
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.