자신의 사이트 내 검색엔진 을 만들다.

  dreamweaver , , , 。 , 。 , , 。 , , 。

, , ,  :  ?   ?  ,  ?  。 , , (<title></title>), (<bod *></body>), dreamweaver frontpage , , 。 。

,
search.htm,
<html>
<head>
<title> </title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<form name="form1" method="post" action="search.php">
  <table width="100%" cellspacing="0" cellpadding="0">
    <tr> 
      <td width="36%"> 
        <div align="center">
          <input type="text" name="keyword">
        </div>
      </td>
      <td width="64%">
        <input type="submit" name="Submit" value=" ">
      </td>
    </tr>
  </table>
</form>
</body>
</html>



search.php  , search.htm .
<?php
//
$keyword=trim($_POST[“keyword”]);
//
if($keyword==””){
   echo” ”;
   exit;//
}
?>


, 。 。

, opendir,readdir, PHP Directory 。 .
  • <?php
  •   //
  •   function listFiles($dir){
  •    $handle=opendir($dir);
  •    while(false!==($file=readdir($handle))){
  •           if($file!="."&&$file!=".."){
  •           //
  •           if(is_dir("$dir/$file")){
  •              listFiles("$dir/$file");
  •           }
  •               else{
  •             //
  •              }
  •       }
  •    }
  • }
  •  
  • ?>


  • , . , $keyword, 。
  • <?php
  • //$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($file!=”search.php”){
  •               //
  •                           if(eregi("$keyword",$data)){
  •                   $array[]="$dir/$file";
  •                           }
  •             }
  •              }
  •       }
  •    }
  • }
  • // $array
  • $array=array();
  • //
  • listFiles(".","php",$array);
  • //
  • foreach($array as $value){
  •    echo "$value"."<br>/n";
  • }
  • ?>


  • , , 。 。
    1,

                              if(eregi("$keyword",$data)){
                      $array[]="$dir/$file";
                              }

                              if(eregi("$keyword",$data)){
                                       if(eregi("<title>(.+)</title>",$data,$m)){
                            $title=$m["1"];
                                       }
                                       else{
                            $title=" ";
                                       }
                                       $array[]="$dir/$file $title";
                               }
    , <title>xxx</title>, xxx , ” ”.

    2, 。
    html , , 。 strip_tags , 。

                $data=fread(fopen("$dir/$file","r"),filesize("$dir/$file"));
                //
                if($file!=”search.php”){
                  //
                              if(eregi("$keyword",$data)){
     
    $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)){

    3,
    foreach($array as $value){
       echo "$value"."<br>/n";
    }

    foreach($array as $value){
       //
       list($filedir,$title)=split(“[ ]”,$value,”2”);
       //
       echo "<a href=$filedir>$value</a>"."<br>/n";
    }
    4
    , PHP 。
    set_time_limit(“600”);
    , 10 。



  • <?php
  • set_time_limit("600");
  • //
  • $keyword=trim($_POST["keyword"]);
  • //
  • if($keyword==""){
  •    echo" ";
  •    exit;//
  • }
  • 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>/n";
  • }
  • ?>


  • , , , , 。 。 。

    preg_match eregi, 。 , eregi.

    좋은 웹페이지 즐겨찾기