Пример данного фильтра написан на языке PHP. О том, где можно применять подобные фильтры можно говорить довольно долго, да и вообще, его использование ограничивается лишь вашей фантазией.
Стоит рассказать о сути его работы. Фильтр выполнен в виде функции, которой передаются два параметра: проверяемый текст, а так же режим работы.
Фильтр имеет два режима работы, в качестве значения второго параметра может быть передано значение 1 либо 0.
При параметре 1 – функция производит замену найденных слов, при параметре 0 – производит поиск без замены. В любом случае, если были найдены фильтруемые слова, функция будет возвращать значение равное 1, иначе 0.
Рассмотрим код функции:
function BadWordFilter(&$text, $replace) { // массив фильтруемых слов, а так же значения для их замены $bads = array ( array("очень","оч*нь"), array("плохое","пл**ое"), array("слово","сл*во") ); if($replace==1) { // производим замену $remember = $text; for($i=0;$i<sizeof($bads);$i++){ // перебераем строку в цикле $text = eregi_replace($bads[$i][0],$bads[$i][1],$text); // замена } if($remember!=$text) return 1; // если есть изменения, возврат 1 } else { // производим поиск без замены for($i=0;$i<sizeof($bads);$i++) { // перебераем строку в цикле if(eregi($bads[$i][0],$text)) return 1; // если найдено, возврат 1 } } }
Производим замену слов.
$any = BadWordFilter($wordsToFilter, 1);
Или производим поиск слов без замены.
$any = BadWordFilter($wordsToFilter, 0);
$any — будет содержать значение 1, если найдено, хотя бы одно слово.
$wordsToFilter – будет содержать строку после фильтрации.