日期:2014-05-16  浏览次数:20466 次

PHP获取远程网站标题及简介说明
本帖最后由 mingniu66 于 2013-11-20 16:32:18 编辑
<?php 
header("Content-Type:text/html;charset=utf-8");
$url = 'http://cm100.net/'; 

//获取远程网页的编码
function _charset($url){
  $text = file_get_contents($url);
  $mode = '/charset=(.*)\"/iU';
  preg_match($mode,$text,$result);
  return $result[1];
}
$charset = _charset($url);//获取远程网页的编码
//以上为公用


//1:获取远程网页的标题,$url地址,$charset用于判断编码
function _title($url,$charset){
  $text = file_get_contents($url);
  
  //如果是gb2312编码处理乱码
  if ($charset == 'gb2312'){
   $text = iconv('gb2312','utf-8',$text);
  }
  
  $mode = '/<title>(.*)<\/title>/iU';
  preg_match($mode,$text,$result);
  return $result[1];
}
echo '网站标题:'.$title = _title($url,$charset); //获取远程网页的标题



//2:获取远程网页的简介
function _description($url,$charset){
  $text = file_get_contents($url);

  //gb2312编码乱码处理
  if ($charset == 'gb2312'){
   $text = iconv('gb2312','utf-8',$text);
  }
  
  $mode = '/<meta\s+name=\"description\"\s+content=\"(.*)\"\s?\/?>/iU';
  preg_match($mode,$text,$result);
  return $result[1];

}
echo '网站简介:'.$description = _description($url,$charset); //获取远程网页的简介
?>

初学PHP,想要获取远程网站的标题及简介,网上查了好几天写出来的结果,勉强能达到想要的结果,获取速度有点慢,感觉代码很乱,不知道有没有更好的方法,

------解决方案--------------------
你可以合成一个函数啊,那就应该很快了。
------解决方案--------------------
你这分析一个页面要获取多少次阿得
------解决方案--------------------
http://blog.csdn.net/jdgdf566/article/details/13632111
------解决方案--------------------
你看你每个函数里都用file_get_contents。当然慢啦。
应该只有1个函数用来file_get_contents获取内容,然后将内容传给每个函数来匹配结果!