Twitter Follow me!
Вт
Мар
15

2011

Чистка слов (cp1251 и utf-8)

Для чистки ключевых слов от нецензурных или не желательных можно применить php скриптик, который запросто справляется с такими задачами.

Однако как выяснилось – не всё так легко – стандартные функции поиска подстроки в строке не работают с кодировкой utf-8, поэтому пришлось применить функцию регулярного выражения. Вместо применения привычной strpos() пришлось применить preg_match() , который работает как регулярное выражение perl. Если Вы работаете со списками слов в кодировке cp1251 или koi8-r, то можете использовать strpos .

По тексту скрипта приведены комментарии!

Задавайте вопросы – отвечу как только прочту!

<?
/*
Чистка слов от мусора
------- http://simba.su/ --------
*/
// список слов
$bad[] = 'секс';
$bad[] = 'порн';
// входной файл
$f = file('in.txt');
// выходной файл
$a = fopen('out.txt','w');
// перебор входного списка
for ( $i = 0 ; $i < count($f) ; $i++)
{
	$g = true;
	// перебор плохих слов
	for ( $j = 0 ; $j < count($bad) ; $j++ )
	{
		// проверка плохого слова
		if (  preg_match('/'.$bad[$j].'/',$f[$i]) )
		{
			$g=false;
		}
	}
	if ( $g == true)
	{
		// сохранение хорошего слова
		fwrite($a,$f[$i]);
	}
}
fclose($a);
?>

Связанные записи:


Простой сервис рассылки на сайте
Перемешивание ключевиков, чистка от повторов, удаление пробелов.
Эмуляция REGISTER_GLOBALS в php
Ключевые слова от Google
Использывание ускорителя XCache
Удаленная работа
mysql в php
Неправильно выдается элемент массива

Метки: php  слова 

Комментарии

Имя:
E-mail:
Комментарий: