function listFiles($dir,$keyword,&$array){ 
$handle=opendir($dir); 
while(false!==($file=readdir($handle))){ 
if($file!="."&&$file!=".."){ 
if(is_dir("$dir/$file")){ 
listFiles("$dir/$file",$keyword,$array); 

else{ 
$data=fread(fopen("$dir/$file","r"),filesize("$dir/$file")); 
if(eregi("<body([^>]+)>(.+)</body>",$data,$b)){ 
$body=strip_tags($b["2"]); 

else{ 
$body=strip_tags($data); 

if($file!="search.php"){ 
if(eregi("$keyword",$body)){ 
if(eregi("<title>(.+)</title>",$data,$m)){ 
$title=$m["1"]; 

else{ 
$title="没有标题"; 

$array[]="$dir/$file $title"; 






$array=array(); 
listFiles(".","$keyword",$array); 
foreach($array as $value){ 
//拆开 
list($filedir,$title)=split("[ ]",$value,"2"); 
//输出 
echo "<a href=$filedir target=_blank>$title </a>"."<br> "; 

解决方案 »

  1.   

    function listFiles($dir,$keyword,&$array){   
    $handle=opendir($dir);   
    while(false!==($file = readdir($handle))){   
    if($file!="." && $file!="..") {   
    if(is_dir("$dir/$file")) {   
    listFiles("$dir/$file", $keyword, $array);
    } else {
    $data=fread(fopen("$dir/$file","r"),filesize("$dir/$file"));   
    if(preg_match("/<body([^>]+)>(.+)</body>/i", $data, $b)) {
    $body=trim(strip_tags($b['2']));   
    } else {   
    $body=trim(strip_tags($data));   
    }   
    if($file != "search.php") {
    if(preg_match("/$keyword/i",$body)) {   
    if(preg_match("/<title>(.+)</title>/i",$data,$m)) {   
    $title=$m['1'];
    } else {   
    $title="没有标题";
    }   
    $array[]="$dir/$file   $title";
    }   
    }   
    }   
    }   
    }   
    }$array=array();   
    listFiles(".","$keyword", $array);   
    foreach($array as $value){   
    //拆开   
    list($filedir,$title)=split("[   ]",$value,"2");   
    //输出   
    echo " <a href=$filedir target=_blank>$title</a> "." <br>";
    }