Итак следующий код подготавливает к удалению объявления, которые содержат слова или их части находящиеся в массиве $stop_file
вставляем в код страницы или подключаем инклюйдом в момент просмотра содержимого рубрики, но до автоудаления.
<?php
/*
$lines - текущая рубрика
$itogo - сколько объяв в рубрике
*/
$lines_new = NULL;
$c = 0;
$stop_file = array('/досуг/i'); //Перед добавлением новых условий изучите синтаксис функции preg_match
$stop_c = count($stop_file);
for ($a=0; $a<$itogo; $a++)
{
$result_find = false;
$find_ad = explode('|', $lines[$a]); //echo "Нашли в рубрике $find_ad[3]
";
for ($f=0; $f<$stop_c; $f++)
{
if (!preg_match($stop_file[$f],$find_ad[3]) or !preg_match($stop_file[$f],$find_ad[5]))
{
$result_find = true;
}
}
if ($result_find)
{
$lines_new[$c] = $lines[$a];
$c++;
}
}
if ($result_find)
{
$fopen=fopen("$datadir/$id.dat","a+");
flock ($fopen,LOCK_EX);
ftruncate ($fopen,0);//УДАЛЯЕМ СОДЕРЖИМОЕ ФАЙЛА
for ($i=0; $i<$c; $i++)
{
fputs($fopen,$lines_new[$i]);
}
flock ($fopen,LOCK_UN);
fclose($fopen);
$lines = file("$datadir/$id.dat"); $itogo=count($lines);
}
?>
соответственно если нашли объяву с "плохими" словами, то ставим ей "вчерашнюю" дату удаления и на следующем этапе выполненеия скрипта эти гадости удаляются.