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

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

实例讲解PHP搜索引擎类(php开发搜索引擎)  PHP搜索引擎类 第1张

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

  1. classgrabble{
  2. var$filename;
  3. var$html;
  4. var$urls=array();//url历史
  5. var$url;
  6. var$url_1;
  7. functiongrabble(){
  8. set_time_limit(3600);
  9. }
  10. functionset($_filename){
  11. $this->filename=$_filename;
  12. array_push($this->url,$_filename);
  13. }//end.set;
  14. functionset_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. functionget(){
  22. }//end.get;
  23. functionget_html($_filename=null){
  24. $this->filename=$_filename;
  25. $this->html=@implode('',file($_filename));
  26. return$this->html;
  27. }//end.get_html;
  28. functionget_title($_str=null){
  29. preg_match_all("/<title>(.*)<\/title>
    /Uis",$_str,$matches);
  30. return$matches[1][0];
  31. }//end.get_title;
  32. functionget_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. functionget_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. functionget_link_name($_str=null){
  42. preg_match_all("/<a.*href=[\'|\"](.+)?
    [\'|\"].*
    >(.+)<\/a>/Uis",$_str,$arr);
  43. return$arr[2];
  44. }//end.get_link_name;
  45. functionlink_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/>"."<INPUTTYPE='checkbox'
    NAME='link_name[]'value='".$_link[$i]."'
    />".$_list[$i]."&nbsp;&nbsp;";
  54. echo"<br/>"."<INPUTTYPE='checkbox'
    NAME='link_name[]'value='".$_link[$i]."'
    />".$_list[$i]."&nbsp;&nbsp;";
  55. echo"<ahref='".$_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"<ahref='".$_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=newgrabble();
  4. echo$gf->link_list(
    'http://10.22.65.101/');
  5. ?>

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

转载请说明出处
知优网 » 实例讲解PHP搜索引擎类(php开发搜索引擎)

发表评论

您需要后才能发表评论