经测试代码如下:
<?php
/**
*功能:获取页面内容,存储下来阅读;lost63
*
* @param
* @author 编程之家 jb51.cc jb51.cc
**/
Class GetUrl{
var $url; //地址
var $result; //结果
var $content; //内容
var $list; //列表
function GetUrl($url){
$this->url=$url;
$this->GetContent();
$this->GetList();
$this->FileSave();
//print_r($this->list[2]);
}
private function GetContent(){
$this->result=fopen($this->url,r);
while(!feof($this->result)){
$this->content.=fgets($this->result,9999);
}
}
private function GetList(){
preg_match_all('/<a(.*?)href=(.*?)>(.*?)</a>/',$this->content,$this->list);
$this->list[2]=array_unique($this->list[2]); //移除相同的值
while(list($key,$value)=each($this->list[2])){
if(strpos($value,.html)==0||strpos($value,jiaocheng)==0){
unset($this->list[2][$key]);
}else{
$this->list[2][$key]=substr($value,strpos($value,.html))..html; //去掉不需要的标签
}
}
}
private function FileSave(){
foreach($this->list[2] as $value){
$this->url=$value; //重新赋值
$this->content=null;
$this->GetContent(); //提取内容
preg_match_all('/<title>(.*?)</title>/',$files); //取标题
$filename=$files[1][0]..html; //存储名
$content=$this->str_cut($this->content,'http://pagead2.googlesyndication.com/pagead/show_ads.js','<div id=article_detail>');
$file=fopen($filename,w);
fwrite($file,$content);
fclose($file);
echo $filename.保存 OK<br>n;
}
}
function str_cut($str,$start,$end) {
$content = strstr( $str,$start );
$content = substr( $content,strlen( $start ),strpos( $content,$end ) - strlen( $start ) );
return $content;
}
}
$w=new GetUrl(http://jb51.cc /jiaocheng/javascript-jiaocheng-352.html);
?>
/*** 来自编程之家 jb51.cc(jb51.cc) ***/
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。