PHP搜索引擎類對於一些朋友來說不太熟悉,因為它在實際使用中很少被程序員們用到,這篇文章就為大家介紹了這些方面的知識。
我們為大家詳細介紹了有關PHP搜索引擎類的一些使用方法,希望對大家有些幫助。下面我們先以一個范例來講解類文件的概念。
PHP搜索引擎類1.類文件:
- class grabble{
- var $filename;
- var $Html;
- var $urls = array(); //url歷史
- var $url ;
- var $url_1;
- function grabble(){
- set_time_limit(3600);
- }
- function set($_filename){
- $this->filename = $_filename;
- array_push ($this->url, $_filename);
- }//end.set;
- function set_url($_url){
- eregi('(^http://.*[^/]).*' , $_url , $array);
- $this->url = $array[1] . "/";
- eregi('(^http://.*[^/]).*' , $_url , $array);
- //print_r($array);
- $this->url_1 = $array[1];
- }
- function get(){
- }//end.get;
- function get_Html($_filename=null){
- $this->filename = $_filename;
- $this->Html = @implode('', file($_filename)) ;
- return $this->Html;
- }//end.get_Html;
- function get_title($_str=null){
- preg_match_all("/<title>(.*)<\/title>
/Uis", $_str, $matches);
- return $matches[1][0];
- }//end.get_title;
- function get_img($_str=null){
- preg_match_all("/<img\s+[^>]*\s*src\s*=
\s*([\'\"]?)([^\'\">\s]*)\\1\s*[^>]*>/i",
$_str, $arr);
- print_r($arr[2]);
- }
- function get_link($_str=null){
- preg_match_all("/<a.*href=[\'|\"](.+)?
[\'|\"].*>.+<\/a>/Uis", $_str, $arr);
- //print_r($arr);
- return $arr[1];
- }//end.get_link;
- function get_link_name($_str=null){
- preg_match_all("/<a.*href=[\'|\"](.+)?
[\'|\"].*>(.+)<\/a>/Uis", $_str, $arr);
- return $arr[2];
- }//end.get_link_name;
- function link_list($_url=null, $_c=0){
- eregi('(^http://.*)/.*' , $_url , $array);
- $_url_0 = $array[1];
- $_Html = $this->get_Html($_url);
- $_link = $this->get_link($_Html);
- $_list = $this->get_link_name($_Html);
- $s = "";
- for($i=0;$i<count($_link);$i++){
- $s .= "<br/>" . "<INPUT TYPE='checkbox'
NAME='link_name[]' value='" .$_link[$i]. "'
/>" . $_list[$i] . " ";
- echo "<br/>" . "<INPUT TYPE='checkbox'
NAME='link_name[]' value='" .$_link[$i]. "'
/>" . $_list[$i] . " ";
- echo "<a href='" . $_url_0 . "/" . $_link[$i]
. "' target='_blank'>" . $_url_0 . "/" .
$_link[$i] . "</a>";
- if($_c < 3){
- if(eregi('^[$_url_0|mailto:].*' ,$_link[$i])){
- echo "<a href='" . $_link[$i] . "'
target='_blank'>" . $_link[$i] . "</a>";
- $s .= $this->link_list( $_link[$i] , $_c+1);
- }
- elseif(!eregi('^[http://|FTP://|file:///].
*' ,$_link[$i])){
- $s .= $this->link_list( $_url_0 . "/" . $_link[$i] , $_c+1);
- }
- }
- }
- return $s;
- }//end.link_list;
- }//end.grabble.
PHP搜索引擎類2.調用實例:
- < ?PHP
- require_once("grabble.
class.PHP"); - $gf = new grabble();
- echo $gf->link_list(
'http://10.22.65.101/'); - ?>
以上就是PHP搜索引擎類的相關使用方法。