实例讲解PHP搜索引擎类

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

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

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.调用实例:

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

 

 

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

责任编辑:曹凯 来源: 百度博客
相关推荐

2009-05-06 14:35:17

搜索引擎PHP技术

2011-06-20 18:23:06

SEO

2020-03-20 10:14:49

搜索引擎倒排索引

2017-08-07 08:15:31

搜索引擎倒排

2010-04-20 11:43:46

2009-02-19 09:41:36

搜索引擎搜狐百度

2012-09-07 13:22:21

搜索搜狗

2022-10-08 09:13:18

搜索引擎⽹站

2009-09-22 16:23:52

搜索引擎

2011-06-03 10:19:53

2016-12-26 13:41:19

大数据搜索引擎工作原理

2024-05-10 08:44:25

ChatGPT模型GPT

2023-09-21 15:05:12

ChatGPT搜索引擎

2023-02-08 10:45:23

2009-07-30 10:40:56

搜索引擎优化网站

2010-06-13 16:27:28

搜索引擎

2022-02-24 00:07:22

Shodan网络搜索

2023-01-03 15:42:29

机器学习视频搜索

2009-11-25 15:35:24

PHP实现站内搜索引擎

2024-08-20 14:52:12

点赞
收藏

51CTO技术栈公众号