這篇文章主要介紹了以文字檔為基礎的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我還看到另外一段比較類似的代碼,實現方法都是大同小異。
|