首 页 教育新闻课件中心论文中心教学教案试题中心语文专题综合下载技术教程公务员  
设为首页
加入收藏
联系我们
您当前的位置:中国教育资源网 -> 技术教程 -> 网站建设 -> 源码精华 -> 技术内容 退出登录 用户管理

统一搜集系统 Univeral Gather System (UGS)源码精华教程

论文作者:佚名  论文来源:不详  论文发布时间:2006-6-20 2:40:34  论文发布人:chjchjchj

减小字体 增大字体

<?
//////////////////////////////////////////////////////////////
//
// 统一搜集系统 Univeral Gather System (UGS)
// 作者 zj@52linux.com
// 主页 http://www.52linux.com
// 联系QQ 733905
//////////////////////////////////////////////////////////////
class ugs
{
var $value_ ; //'窃取到的内容
var $src_ ; //'要偷的目标URL地址
var $isGet_ ; //判断是否已经偷过

function BytesToBstr($f) //'变成1行
{
return join("",$f);

}
function _striptext() //取得文字内容
{

// I didn't use preg eval (//e) since that is only available in PHP 4.0.
// so, list your entities one by one here. I included some of the
// more common ones.

$search = array("'<script[^>]*?>.*?</script>'si", // strip out javascript
"'<[\/\!]*?[^<>]*?>'si", // strip out html tags
"'([\r\n])[\s]+'", // strip out white space
"'&(quot#34#034#x22);'i", // replace html entities
"'&(amp#38#038#x26);'i", // added hexadecimal values
"'&(lt#60#060#x3c);'i",
"'&(gt#62#062#x3e);'i",
"'&(nbsp#160#xa0);'i",
"'&(iexcl#161);'i",
"'&(cent#162);'i",
"'&(pound#163);'i",
"'&(copy#169);'i",
"'&(reg#174);'i",
"'&(deg#176);'i",
"'&(#39#039#x27);'",
"'&(euro#8364);'i", // europe
"'&a(umlUML);'", // german
"'&o(umlUML);'",
"'&u(umlUML);'",
"'&A(umlUML);'",
"'&O(umlUML);'",
"'&U(umlUML);'",
"'&szlig;'i",
);
$replace = array( "",
"",
"\\1",
"\"",
"&",
"<",
">",
" ",
chr(161),
chr(162),
chr(163),
chr(169),
chr(174),
chr(176),
chr(39),
chr(128),
"?",
"?",
"?",
"?",
"?",
"?",
"?",
);

$text = preg_replace($search,$replace,$this->value_);

return $this->value_=$text;
}
function _striplinks() //取得链接Array
{
preg_match_all("'<\s*a\s.*?href\s*=\s* # find <a href=
([\"\'])? # find single or double quote
(?(1) (.*?)\\1 ([^\s\>]+)) # if quote found, match up to next matching
# quote, otherwise match up to next space
'isx",$this->value_,$links);


// catenate the non-empty matches from the conditional subpattern

while(list($key,$val) = each($links[2]))
{
if(!empty($val))
$match[] = $val;
}

while(list($key,$val) = each($links[3]))
{
if(!empty($val))
$match[] = $val;
}

// return the links
return $this->value_=$match;
}


function steal($toline=true) //'窃取目标URL地址的HTML代码的方法
{

if($this->src_!="")
{
$unix=false; //如果您是unix系统 请设置true 条件是系统里有wget 这个软件,如果是window系统,设置为false,或者当有wget.exe 这个软件时也可以设置为true
// wget.exe 可从下面地址得到 http://allserv.ugent.be/~bpuype/wget/
if($unix){
$tmpfile=tempnam("/tmp","FOO");

$cmd="wget -nv -O $tmpfile \"$this->src_\"";
//echo $cmd;
exec($cmd);

$http=file($tmpfile);

unlink($tmpfile);

}
else
{
$http=file($this->src_);

}

//print_r($http);
if($toline) {
$this->isGet_=true;
return $this->value_=$this->BytesToBstr($http);

}
else
{
$this->isGet_=true;

return $this->value_=$http;

}
}
else
{

echo ("<script>alert(\"请先设置src属性!\")</script>");
}


}
function steal_local($toline=true) // 此方法为处理本地文件使用
{
if($this->src_!="")
{
if($toline)
{
$http=file($this->src_);
$this->isGet_=true;
return $this->value_=$this->BytesToBstr($http);

}
else
{
$http=file($this->src_);
$this->isGet_=true;
return $this->value_=$http;

}

}
else
{

echo ("<script>alert(\"请先设置src属性!\")</script>");
}


}


//'删除偷到的内容中里面的换行、回车符以便进一步加工/方法
function noReturn()
{

if(!$this->isGet_) $this->steal();
$this->value_=str_replace("\n","",$this->value_);
$this->value_=str_replace("\r","",$this->value_);
}

//'对偷到的内容中的个别字符串用新值更换/方法
function change($oldStr,$str) //'参数分别是旧字符串,新字符串
{
if(!$this->isGet_) $this->steal();
$this->value_=str_replace($oldStr,$str,$this->value_ );
}


//'按指定首尾字符串对偷取的内容进行裁减(不包括首尾字符串)/方法
function cut($head,$bot) //'参数分别是首字符串,尾字符串
{
if(!$this->isGet_) $this->steal();

$message=explode($head,$this->value_);

if(count($message)>1)
{
$message=explode($bot,$message[1]);
return $this->value_= $message[0];
}
else
{
return $this->value_="";
}


}


function cutpro($start,$end,$no='1',$comprise='') // $no must in {1,2,3,4,5.....} zero is not support
//此方法较cut方法有进步,是可以调节$no 确定切到指定第no个符合条件的文字串
{
$string=explode($start,$this->value_);
//print_r($string);
$string=explode($end,$string[$no]);
//print_r($string);
switch ($comprise){
case 'start':
$string=$start.$string[0];
break;
case 'end':
$string=$string[0].$end;
break;
case 'all':
$string=$start.$string[0].$end;
break;
default:
$string=$string[0];
}
return $this->value_=$string;
}

function cut2($head,$bot) //cut 的另一种实现方法
{
return substr($this->value_,strpos($this->value_,$head)+strlen($head),strpos($this->value_,$bot)-strpos($this->value_,$head)-strlen($head));
}

//'按指定首尾字符串对偷取的内容进行裁减(包括首尾字符串)/方法
function cutX($head,$bot) //'参数分别是首字符串,尾字符串
{
$tmp=$this->cut($head,$bot);

return $this->value_=$head.$tmp.$bot;


}


//'按指定首尾字符串位置偏移指针对偷取的内容进行裁减/方法
function cutBy($head,$headCusor,$bot,$botCusor)
//'参数分别是首字符串,首偏移值,尾字符串,尾偏移值,左偏移用负值,偏移指针单位为字符数
{
if(!$this->isGet_) $this->steal();
return substr($this->value_,strpos($this->value_,$head)+strlen($head)+$headCusor,strpos($this->value_,$bot)-1+$botCusor-strpos($this->value_,$head)-strlen($head)-$headcusor);

}


//'按指定首尾字符串对偷取的内容用新值进行替换(不包括首尾字符串)/方法
function filt($head,$bot,$str)// '参数分别是首字符串,尾字符串,新值,新值位空则为过滤
{
if(!$this->isGet_) $this->steal();
$tmp_v=$this->value_;
$tmp=$this->cut($head,$bot);
return $this->value_=str_replace($tmp,$str,$tmp_v);
}

function filtX($head,$bot,$str)// '参数分别是首字符串,尾字符串,新值,新值位空则为过滤
{
if(!$this->isGet_) $this->steal();
$tmp_v=$this->value_;

$tmp=$this->cutX($head,$bot);

return $this->value_=str_replace($tmp,$str,$tmp_v);
}

//'按指定首尾字符串位置偏移指针对偷取的内容新值进行替换/方法
function filtBy($head,$headCusor,$bot,$botCusor,$str)
//'参数分别是首字符串,首偏移值,尾字符串,尾偏移值,新值,左偏移用负值,偏移指针单位为字符数,新值为空则为过滤
{
if(!$this->isGet_) $this->steal();
// 这里写代码
$tmp_v=$this->value_;
$ttt=substr($this->value_ ,strpos($this->value_ ,$head)+strlen($head)+$headCusor,strpos($this->value_ ,$bot)-1+$botCusor-strpos($this->value_ ,$head)-strlen($head)-$headCusor);
//echo $ttt;
return $this->value_=str_replace($ttt,$str,$tmp_v );

}

//'将偷取的内容中的绝对URL地址改为本地相对地址
function local()
{

}


//'对偷到的内容中的符合正则表达式的字符串用新值进行替换/方法
function replaceByReg($patrn,$str) //'参数是你自定义的正则表达式,新值
[] [返回上一页] [打 印] [收 藏]  
 ∷相关技术评论  (评论内容只代表网友观点,与本站立场无关!) [查看发表评论...]
 
 中国教育资源网免费技术教程下载中心-站内广告 站内广告 中国教育资源网免费技术教程下载中心-站内广告 
 中国教育资源网站内搜索 站内搜索 中国教育资源网站内搜索 
 

   
 中国教育资源网免费技术教程下载中心-栏目导航 栏目导航 中国教育资源网免费技术教程下载中心-栏目导航 
· Dreamweaver · FrontPage
· CSSHTML · DOMJS
· Google排名 · 搜索研究
· 网络赚钱 · Alexa相关
· 建站交流 · 源码精华
· 经验技巧
 
中国教育资源网免费技术教程下载中心-相关教程  相关技术 中国教育资源网免费技术教程下载中心-相关教程
· [图文] PowerPlugs打造Powe
· 在SQL2k降序索引上使
· SQL脚本生成的一些B
 中国教育资源网免费技术教程下载中心-本月热门教程 本月热门 中国教育资源网免费技术教程下载中心-本月热门教程 
 
 中国教育资源网免费技术教程下载中心-本日热门论文 本日热门 中国教育资源网免费技术教程下载中心-本日热门论文 
 
关于本站 - 网站帮助 - 免费课件 - 美容 - 绿色软件 - 软件下载 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 网站留言
浙ICP备06010405号 Email:cnkjz@163.com 技术支持:名流设计
版权所有 Copyright© 2002-2004 名流