欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

实例讲解PHP搜索引擎类

程序员文章站 2022-04-20 17:18:13
...
我们为大家详细介绍了有关

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("/imgs+[^>]*s*srcs*=
    s*(['"]?)([^'"
    >s]*)\1s*[^>]*>/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;$icount($_link);$i++){
  53. $s .= "
    "
    . "INPUT TYPE='checkbox'
    NAME='link_name[]' value='" .$_link[$i]. "'
    />" . $_list[$i] . " ";
  54. echo "br/>" . "INPUT TYPE='checkbox'
    NAME='link_name[]' value='" .$_link[$i]. "'
    />" . $_list[$i] . " ";
  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.调用实例:

  1. ?php
  2. require_once("grabble.
    class.php");
  3. $gf = new grabble();
  4. echo $gf->link_list(
    'http://10.22.65.101/');
  5. ?>

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