溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP怎么實現(xiàn)搜索引擎類

發(fā)布時間:2021-11-02 10:16:09 來源:億速云 閱讀:199 作者:小新 欄目:編程語言

小編給大家分享一下PHP怎么實現(xiàn)搜索引擎類,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

PHP搜索引擎類1.類文件:

  1. class grabble{  

  2. var $filename;  

  3. var $html;  

  4. var $urls = array(); //url歷史  

  5. var $url ;  

  6. var $url_1;  

  7. function grabble(){  

  8. set_time_limit(3600);   

  9. }  

  10. function set($_filename){  

  11. $this->filename = $_filename;  

  12. array_push ($this->url, $_filename);   

  13. }//end.set;  

  14. function set_url($_url){  

  15. eregi('(^http://.*[^/]).*' , $_url , $array);  

  16. $this->url = $array[1] . "/";   

  17. eregi('(^http://.*[^/]).*' , $_url , $array);  

  18. //print_r($array);  

  19. $this->url_1 = $array[1];  

  20. }  

  21. function get(){  

  22. }//end.get;  

  23. function get_html($_filename=null){  

  24. $this->filename = $_filename;  

  25. $this->html = @implode('', file($_filename)) ;  

  26. return $this->html;  

  27. }//end.get_html;  

  28. function get_title($_str=null){  

  29. preg_match_all("/<title>(.*)<\/title>
    /Uis", $_str, $matches);  

  30. return $matches[1][0];  

  31. }//end.get_title;  

  32. function get_img($_str=null){  

  33. preg_match_all("/<img\s+[^>]*\s*src\s*=
    \s*([\'\"]?)([^\'\">\s]*)\\1\s*[^>]*>/i", 
    $_str, $arr);  

  34. print_r($arr[2]);  

  35. }  

  36. function get_link($_str=null){   

  37. preg_match_all("/<a.*href=[\'|\"](.+)?
    [\'|\"].*>.+<\/a>/Uis", $_str, $arr);   

  38. //print_r($arr);  

  39. return $arr[1];  

  40. }//end.get_link;  

  41. function get_link_name($_str=null){   

  42. preg_match_all("/<a.*href=[\'|\"](.+)?
    [\'|\"].*>(.+)<\/a>/Uis", $_str, $arr);  

  43. return $arr[2];  

  44. }//end.get_link_name;  

  45. function link_list($_url=null, $_c=0){  

  46. eregi('(^http://.*)/.*' , $_url , $array);  

  47. $_url_0 = $array[1];  

  48. $_html = $this->get_html($_url);  

  49. $_link = $this->get_link($_html);  

  50. $_list = $this->get_link_name($_html);  

  51. $s = "";  

  52. for($i=0;$i<count($_link);$i++){  

  53. $s ."<br/>" . "<INPUT TYPE='checkbox' 
    NAME='link_name[]' value='" .$_link[$i]. "' 
    />" . $_list[$i] . "&nbsp;&nbsp;";  

  54. echo "<br/>" . "<INPUT TYPE='checkbox' 
    NAME='link_name[]' value='" .$_link[$i]. "' 
    />" . $_list[$i] . "&nbsp;&nbsp;";  

  55. echo "<a href='" . $_url_0 . "/" . $_link[$i]
     . "'
     target='_blank'>" . $_url_0 . "/" . 
    $_link[$i] . "</a>";   

  56. if($_c < 3){  

  57. if(eregi('^[$_url_0|mailto:].*' ,$_link[$i])){   

  58. echo "<a href='" . $_link[$i] . "' 
    target='_blank'>" . $_link[$i] . "</a>";   

  59. $s .= $this->link_list( $_link[$i] , $_c+1);  

  60. }  

  61. elseif(!eregi('^[http://|ftp://|file:///].
    *' ,$_link[$i])){  

  62. $s .= $this->link_list( $_url_0 . "/" . $_link[$i] , $_c+1);  

  63. }  

  64. }  

  65. }  

  66. return $s;  

  67. }//end.link_list;  

  68. }//end.grabble. 

PHP搜索引擎類2.調(diào)用實例:

  1. < ?php  

  2. require_once("grabble.
    class.php");  

  3. $gf = new grabble();  

  4. echo $gf->link_list(
    'http://10.22.65.101/');  

  5. ?> 


以上是“PHP怎么實現(xiàn)搜索引擎類”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI