以文字檔為基礎的PHP搜尋引擎

來源:互聯網
上載者:User
這篇文章主要介紹了以文字檔為基礎的PHP搜尋引擎,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

以文字檔為基礎的PHP搜尋引擎

下面是我從zend.com找來的以文本為基礎的PHP搜尋引擎原始碼,並做了點無幹緊要的修改:
search.php

<html>  <head>  <title>      搜尋索引鍵是——<? "$keyyword" ?>  </title>  </head>  <body bgcolor=yellow text=green>  <form method=post action=search.php>  <input type=text name=keyword>  <br>  <br>  <input type=submit value=搜尋>  </form> <hr>  <h2><b><u>Search results...</u></b></h2>  <hr>  <?  if(!$keyword)      {      echo "請輸入關鍵字!<br>";      exit;      }  $fl="keywords.txt"; //儲存搜尋資料的文字檔 $fp=fopen($fl, "r");  if(!fp)      {      echo "無法讀取資料檔案!!";      }  $fr=fread($fp, filesize($fl));  $line=explode("/n", $fr);  $id=0;  for($i=0; $i<count($line); $i++)  {      $lin=explode("|", $line[$i]);      if(eregi("$keyword", "$lin[0]"))          {          echo "<a href=$lin[1]>$lin[1]</a><br><spacer type=horizontal size=40>$lin[2]<br><br>";          }      else          {          $id++;          }  }  if($id==count($line))      {      echo "找不到匹配的結果!";      }  ?> </body> </html>
包含搜尋資料的文字檔keywords的格式是這樣的:

搜尋引擎|http://www.yahoo.com|巨好的搜尋引擎,幾乎可以在這裡找到所有東西.
電影|http://movies.yahoo.com|流行電影,票房收入,以及即將推出的新電影.
股票|http://quote.yahoo.com|可以看股票市場,國外市場的網站.
linux|http://www.linuxcentral.com|如果你想購買一些linux產品,不妨來這裡.
linux|http://www.linux.org|大量應用程式,文章等等.
linux|http://www.linuxtoday.com|linux新聞站,列出了最新的LINUX新聞.
zdnet|http://www.zdnet.com|新聞和下載站.
apache|http://www.apache.org|流行的網站伺服器.


這個代碼是這樣啟動並執行:

1。開啟包含資料的文字檔,關鍵字,URL,介紹都用|隔開;
2。把這個檔案的內容賦給變數$fr;
3。explode()輸出的值賦給$line變數;
4。用explode()重複處理$line變數,將用|分開的元素賦給lin[]數組;
5。然後將關鍵字和lin[0]比較;
6。如果匹配就輸出——PHP會輸出lin[1],因為這是URL,所以應該加上<a href></a>標記;
7。另外一個很cool的變數就是$id,如果在關鍵字和lin[0]比較不匹配的話,就和$id就會等於&line,然後告訴你找不到:)

在oso我還看到另外一段比較類似的代碼,實現方法都是大同小異。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.