<? $work_dir=”./”; // рабочая директория - обязательно должна заканчиваться // символом “/” $excl_dir=array(); $excl_dir[0]=”./webstat/”; $excl_dir[1]=”./cgi-bin/”; // директории, где поиск/замена не производятся - обязательно должны заканчиваться // символом “/” $file_mask_1=”.html”; $file_mask_2=”.js”; // маски обрабатываемых файлов (будут обработаны все файлы, // содержащие данную строку в имени) $search_str=”<noindex></DIV>”; #что ищем $replace_str=”</DIV>”; #чем заменяем //****************************************************** $level=0; function sr($dir) { global $level,$file_mask_1,$file_mask_2,$search_str,$replace_str,$excl_dir; echo “<b>”; for ($i=0;$i<$level;$i++) echo “* * “; echo $dir.”</b>”; if (@in_array($dir,$excl_dir)) { echo ” - needn’t search & replace<br>”; return; } echo “<br>”; $p = dir($dir); while($ent=$p->read()) { if ($ent!=”.” && $ent!=”..” && !is_dir($dir . $ent) && (eregi(sql_regcase($file_mask_1),$ent) || eregi(sql_regcase($file_mask_2),$ent))) { $tmp=@file($dir.$ent); $str=@implode(”",$tmp); if (strpos(”@!#%xrenoder^&*()”.$str,$search_str)) { for ($i=0;$i<($level)+1;$i++) echo “* * “; echo $dir.$ent.” found…”; $str=str_replace($search_str,$replace_str,$str); if ($fp=@fopen($dir.$ent, “w”)) { flock($fp,LOCK_EX); fwrite($fp,$str); fclose($fp); echo ” and replace<br>”; } else echo ” and <b>can’t replace</b><br>”; } } elseif($ent!=”.” and $ent!=”..” and is_dir($dir . $ent)) { $level++; sr($dir.$ent.”/”); $level–; } } $p->close(); return; } sr($work_dir); echo “SEARCH & REPLACE Complete”; ?>