О web-разработке
и даже немного больше...

Простой фильтр «плохих» слов.

Простой фильтр плохих слов.
Пример данного фильтра написан на языке 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 – будет содержать строку после фильтрации.

Опубликован: 19.01.2013 г.

См. также:

Редакторы кода для PHP
Как просмотреть время загрузки страницы в PHP?
Генерация QR-кода в PHP
Загрузка файлов на сервер посредством Ajax
Импорт записей из Excel в WordPress
Парсинг XML в PHP
Установка IonCube на XAMPP
Создание PDF файлов в PHP

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Комментарии
  • Загрузка...
Друзья сайта