Strict Standards: Resource ID#26 used as offset, casting to integer (26) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#28 used as offset, casting to integer (28) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#29 used as offset, casting to integer (29) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Версия для печати :: Антимат
ТвойWeb » WebMaster класс » PHP/Perl » Антимат

Страниц (1): [1]
 

1. awep - 16 Апреля, 2007 - 08:58:23 - перейти к сообщению
В скрипте ExBB есть функция фильтрации "плохих" слов.
Но у функции, за это отвечающей, есть большой минус: она обрабатывает исключительно точные совпадения, например по умолчанию стоит
CODE:
fuck=f*ck

то есть слово fucking не будет отслежено.

В связи с этим у меня есть вопрос к людям, знающим PCRE: как реализовать замену в словах "плохих" корней, то есть, чтобы в противоположность вышеуказанному, слово fucking заменялось на f*cking
2. Alone - 16 Апреля, 2007 - 09:21:00 - перейти к сообщению
awep
Точно не уверен, но попробуй здесь посмотреть:
http://tvoyweb.ru/forums/topic.p...17&topic=415
3. awep - 25 Апреля, 2007 - 13:52:37 - перейти к сообщению
не, это несовсем то.

вобщем прблему решил так: вместо preg_replace юзаю str_replace и без знаков Reg_Exp. код свелся к 4 строкам:
CODE:
$badwordss=parse_ini_file('./mat.ini');
$badwords=array_keys($badwordss);
$goodwords=array_values($badwordss);
$text=str_replace($badwords,$goodwords,$text);
где в файле mat.ini содержится список слов вида fuck=f*ck

Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0345]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33