变态重口极致另类在线-波多久久夜色精品国产-波多野结衣在线观看一区-波多野结衣在线观看一区二区-污污的网站免费阅读-污污视频网址

當前位置: 首頁編程開發PHP → 運用PHP做一個全能搜索引擎

運用PHP做一個全能搜索引擎

更多
本文章分享給各位,教你如何利用PHP做一個站內全能的搜索引擎,希望對大家有用。
重在了解一下方法。寫程序前先要想好一個思路,下面是我的思路,可能誰有更好的,但注意這只是一個方法問題 :遍歷所有文件,讀取內容,搜索關鍵字,如果匹配就放入一個數組,讀數組。在實現這些步驟之前,我假定你的網頁都是標準的,就是有標題(<title></title>),也有(<bod *></body>),如果你是用dreamweaver或者frontp...
  正文:朋友用dreamweaver做了一個網站,沒有動態的內容,只是一些個人收藏的文章,個人介紹等等。現在內容比較多了,想叫我幫他做一個搜索引擎。說實在的,這是一個不難的問題,于是就隨手做了一個,F在我在其它論壇上也看到有人想做這個,于是就想說說這方面的知識,重在了解一下方法。

寫程序前先要想好一個思路,下面是我的思路,可能誰有更好的,但注意這只是一個方法問題 :遍歷所有文件  讀取內容  搜索關鍵字,如果匹配就放入一個數組  讀數組。在實現這些步驟之前,我假定你的網頁都是標準的,就是有標題(<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取出來作為標題,如果找不到那么就把標題命名未”沒有標題”.
熱門評論
最新評論
昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字數: 0/500 (您的評論需要經過審核才能顯示)
主站蜘蛛池模板: 欧美一级黄色片在线观看 | 久久99精品这里精品动漫6 | 日韩免费在线观看视频 | 成人影院在线观看免费 | 亚洲欧美一级视频 | 老司机69精品成免费视频 | 在线播放日韩 | 久久手机精品视频 | 性色毛片免费视频 | 毛片网站网址 | 免费在线观看亚洲 | vktk视频| 欧美激情在线精品video | 精品一区二区三区在线视频观看 | 日韩女同一区二区三区 | 一级特黄aa毛片免费观看 | 日韩美女一级毛片a | 日韩视频免费在线观看 | 久久午夜国产片 | 日本爽p大片免费观看 | 国产国语videosex护士 | 羞羞影院在线观看 | 欧美午夜在线观看理论片 | 亚洲人成网站在线观看播放 | 三级黄色毛片 | 免费看的黄色大片 | 亚洲欧美精品一区天堂久久 | 日韩免费a级在线观看 | 夜夜拍夜夜爽夜夜拍拍拍 | 在线精品日韩一区二区三区 | 色综合久久五月 | 一区二区三区在线 | 欧 | 亚洲另类在线视频 | 欧美一区二区三区在线 | 一级高清毛片 | 日韩a级毛片免费观看 | 天堂精品| 99精品在线免费观看 | 天天躁夜夜躁狠狠躁2021西西 | 欧美另类tv | 白洁的性荡生活全文 |