[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Антимат (функция)
vitsmolins
Всем добрый день. Помогите пож-та доделать функцию..... НЕ пойму ,что не хватает.

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

//Вывод отзывов
function _commentFormat($text) {
//Антимат в коментах!
$bad = array(".*ху(й|и|я|е|ли|ле).*", ".*пи(з|с)д.*", "бля.*", ".*бля(д|т|ц).*", "(с|сц)ук(а|о|и).*", "еб.*", ".*уеб.*", "заеб.*", ".*еб(а|и)(н|с|щ|ц).*", ".*ебу(ч|щ).*", ".*пид(о|е|а)р.*", ".*хер.*", "г(а|о)ндон.*", ".*залуп.*", "г(а|о)вн.*", "говно" ,"хуета", "хуй"); //В этот массив вносим нецензурные слова
$text = str_replace($bad, "cool трекер", $text); //Здесь задаем фразу для замены слов
$result = htmlspecialchars(strip_tags($text)); //Удаляем всевозможные теги , и навсякий случай преобразуем их.
return $result;
}




Спустя 9 минут, 20 секунд (29.03.2011 - 10:16) alex12060 написал(а):
Тебе надо перебрать значения из массива, а то str_replace() не понимает, чего хотят от нее.

Спустя 9 минут, 16 секунд (29.03.2011 - 10:25) vitsmolins написал(а):
$text = preg_replace($bad, "cool трекер", $text);


Типа так?

Спустя 2 минуты, 10 секунд (29.03.2011 - 10:27) vitsmolins написал(а):
//Вывод отзывов
function _commentFormat($text) {
//Антимат в коментах!
$mat = "/\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"; //Здесь задаем фразу для замены слов
$text = preg_replace($mat, "!@#!!$!#*@!", $text);//Заменяем слова из рег. в тексте при их нахождении
$result = htmlspecialchars(strip_tags($text)); //Удаляем всевозможные теги , и навсякий случай преобразуем их.
return $result;
}


Как то так , вроде заменяет.

Спустя 1 минута, 19 секунд (29.03.2011 - 10:28) kirik написал(а):
С каких пор слово "говно" матным стало???

Цитата (vitsmolins @ 29.03.2011 - 02:27)
"/\w{0,5}[хx]([хx\s\!@#\$%\^&*+-\|\/]{0,6})[уy]([уy\s\!@#\$%\^&*+-\|\/]{0,6})[ёiлeеюий....аa@еeиi]([oоаa@еeиi\s\!@#\$%\^&*+-\|\/]{0,6})[рr]\w{0,12}/i"

О боги!!

Спустя 8 минут, 37 секунд (29.03.2011 - 10:37) alex12060 написал(а):
vitsmolins

Вот это прикол biggrin.gifD

Спустя 1 минута, 26 секунд (29.03.2011 - 10:38) vitsmolins написал(а):
Цитата (alex12060 @ 29.03.2011 - 07:37)
vitsmolins

Вот это прикол biggrin.gifD

Говно внёс по просьбе пользователей....

Спустя 4 минуты, 29 секунд (29.03.2011 - 10:43) kirik написал(а):
Цитата (vitsmolins @ 29.03.2011 - 02:38)
Говно внёс по просьбе пользователей....

biggrin.gif biggrin.gif
/* внесите говно! */

Спустя 4 минуты, 48 секунд (29.03.2011 - 10:48) alex12060 написал(а):
Не забудь в конец добавть u

Спустя 4 минуты, 39 секунд (29.03.2011 - 10:52) alex12060 написал(а):
function _commentFormat($text) {
//Антимат в коментах!
$bad = array(".*ху(й|и|я|е|ли|ле).*", ".*пи(з|с)д.*", "бля.*", ".*бля(д|т|ц).*", "(с|сц)ук(а|о|и).*", "еб.*", ".*уеб.*", "заеб.*", ".*еб(а|и)(н|с|щ|ц).*", ".*ебу(ч|щ).*", ".*пид(о|е|а)р.*", ".*хер.*", "г(а|о)ндон.*", ".*залуп.*", "г(а|о)вн.*", "говно" ,"хуета", "хуй"); //В этот массив вносим нецензурные слова
foreach ($bad as $word) {
$text = preg_replace("/".$word."/iu", "cool трекер", $text); //Здесь задаем фразу для замены слов
$result = strip_tags($text); //Удаляем всевозможные теги , и навсякий случай преобразуем их.
}
return $result;
}

Спустя 18 минут, 49 секунд (29.03.2011 - 11:11) T1grOK написал(а):
Самая эффективная функция антимат - "веслом по башке" biggrin.gif
Быстрый ответ:

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