最近做了几个静态页面,但是想找些东西的时候真心麻烦阿!于是乎弄了套站内搜索,加过注释,自己看: <?php set_time_limit("600"); //防止超时 //获取搜索关键字 $keyword=trim($_POST['keyword']); //检查是否为空 if($keyword==""){ echo"搜索的关键字不能为空"; exit;//结束程序 } /* * *listFiles($dir,$keyword,&$array) *功能: 递归遍历所有页面 *说明: $dir 搜索的目录,$keyword搜索关键字,&$array存放带有关键字的页面(引用传递) */ 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>",$data,$b)){ $body=strip_tags($b["2"]); }else{ $body=strip_tags($data); } if($file!="search.php"){ if(preg_match("$keyword",$body)){ if(preg_match("<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" mce_href="$filedir" target=_blank>$title </a>"."<br> "; } ?>