+ -
当前位置:首页 → 问答吧 → 实例讲解PHP搜索引擎类

实例讲解PHP搜索引擎类

时间:2010-02-02

来源:互联网

    PHP搜索引擎类对于一些朋友来说不太熟悉,因为它在实际使用中很少被程序员们用到,这篇文章就为大家介绍了这些方面的知识。


我们为大家详细介绍了有关PHP搜索引擎类的一些使用方法,希望对大家有些帮助。下面我们先以一个范例来讲解类文件的概念。


PHP搜索引擎类1.类文件:
    class grabble{  
  1. var $filename;  
  2. var $html;  
  3. var $urls = array(); //url历史  
  4. var $url ;  
  5. var $url_1;  
  6. function grabble(){  
  7. set_time_limit(3600);   
  8. }  
  9. function set($_filename){  
  10. $this->filename = $_filename;  
  11. array_push ($this->url, $_filename);   
  12. }//end.set;  
  13. function set_url($_url){  
  14. eregi('(^http://.*[^/]).*' , $_url , $array);  
  15. $this->url = $array[1] . "/";   
  16. eregi('(^http://.*[^/]).*' , $_url , $array);  
  17. //print_r($array);  
  18. $this->url_1 = $array[1];  
  19. }  
  20. function get(){  
  21. }//end.get;  
  22. function get_html($_filename=null){  
  23. $this->filename = $_filename;  
  24. $this->html = @implode('', file($_filename)) ;  
  25. return $this->html;  
  26. }//end.get_html;  
  27. function get_title($_str=null){  
  28. preg_match_all("/<title>(.*)<\/title>
        /Uis", $_str, $matches);  
  29. return $matches[1][0];  
  30. }//end.get_title;  
  31. function get_img($_str=null){  
  32. preg_match_all("/<img\s+[^>]*\s*src\s*=
        \s*([\'\"]?)([^\'\">\s]*)\\1\s*[^>]*>/i", 
        $_str, $arr);  
  33. print_r($arr[2]);  
  34. }  
  35. function get_link($_str=null){   
  36. preg_match_all("/<a.*href=[\'|\"](.+)?
        [\'|\"].*>.+<\/a>/Uis", $_str, $arr);   
  37. //print_r($arr);  
  38. return $arr[1];  
  39. }//end.get_link;  
  40. function get_link_name($_str=null){   
  41. preg_match_all("/<a.*href=[\'|\"](.+)?
        [\'|\"].*>(.+)<\/a>/Uis", $_str, $arr);  
  42. return $arr[2];  
  43. }//end.get_link_name;  
  44. function link_list($_url=null, $_c=0){  
  45. eregi('(^http://.*)/.*' , $_url , $array);  
  46. $_url_0 = $array[1];  
  47. $_html = $this->get_html($_url);  
  48. $_link = $this->get_link($_html);  
  49. $_list = $this->get_link_name($_html);  
  50. $s = "";  
  51. for($i=0;$i<count($_link);$i++){  
  52. $s .= "<br/>" . "<INPUT TYPE='checkbox' 
        NAME='link_name[]' value='" .$_link[$i]. "' 
        />" . $_list[$i] . "  ";  
  53. echo "<br/>" . "<INPUT TYPE='checkbox' 
        NAME='link_name[]' value='" .$_link[$i]. "' 
        />" . $_list[$i] . "  ";  
  54. echo "<a href='" . $_url_0 . "/" . $_link[$i]
         . "' target='_blank'>" . $_url_0 . "/" . 
        $_link[$i] . "</a>";   
  55. if($_c < 3){  
  56. if(eregi('^[$_url_0|mailto:].*' ,$_link[$i])){   
  57. echo "<a href='" . $_link[$i] . "' 
        target='_blank'>" . $_link[$i] . "</a>";   
  58. $s .= $this->link_list( $_link[$i] , $_c+1);  
  59. }  
  60. elseif(!eregi('^[http://|ftp://|file:///].
        *' ,$_link[$i])){  
  61. $s .= $this->link_list( $_url_0 . "/" . $_link[$i] , $_c+1);  
  62. }  
  63. }  
  64. }  
  65. return $s;  
  66. }//end.link_list;  
  67. }//end.grabble. 
PHP搜索引擎类2.调用实例:
[pre]
    < ?php  
  1. require_once("grabble.
    class.php");  
  2. $gf = new grabble();  
  3. echo $gf->link_list(
    'http://10.22.65.101/');  
  4. ?>

[/pre]以上就是PHP搜索引擎类的相关使用方法。

作者: php华南培训   发布时间: 2010-02-02

看不懂  先留着

作者: energy162   发布时间: 2010-02-02

能不能给一点点儿注释,,谢谢,,,支持下、、、、、、

作者: aqqiu   发布时间: 2010-02-02

相关阅读 更多