Вт
Мар
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
Неправильно выдается элемент массива
Комментарии
