PHP中使用CURL获取页面title例子


Posted in PHP onJanuary 07, 2015

通过PHP获取页面title内容的实战演示:

范例代码:

<?php   

/*  

功能: 取得 URL 页面上的 <title> 内容   

  

参数:$_POST['url']  

*/   

   

// 设置最长执行的秒数   

ini_set ("expect.timeout", 30);   

set_time_limit(30);   

   

// 检查 URL   

if(!isset($_POST['url']) || $_POST['url'] == ''){    

   echo "URL 错误";   

   exit;   

}   

   

   

/* 取得 URL 页面数据 */   

// 初始化 CURL   

$ch = curl_init();   

   

// 设置 URL    

curl_setopt($ch, CURLOPT_URL, $_POST['url']);    

// 让 curl_exec() 获取的信息以数据流的形式返回,而不是直接输出。   

curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);   

// 在发起连接前等待的时间,如果设置为0,则不等待   

curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 0);   

// 设置 CURL 最长执行的秒数   

curl_setopt ($ch, CURLOPT_TIMEOUT, 30);   

   

// 尝试取得文件内容   

$store = curl_exec ($ch);   

   

   

// 检查文件是否正确取得   

if (curl_errno($ch)){   

   echo "无法取得 URL 数据";   

   //echo curl_error($ch);/*显示错误信息*/   

   exit;   

}   

   

// 关闭 CURL   

curl_close($ch);   

   

   

// 解析 HTML 的 <head> 区段   

preg_match("/<head.*>(.*)<\/head>/smUi",$store, $htmlHeaders);   

if(!count($htmlHeaders)){   

   echo "无法解析数据中的 <head> 区段";   

   exit;   

}       

      

// 取得 <head> 中 meta 设置的编码格式   

if(preg_match("/<meta[^>]*http-equiv[^>]*charset=(.*)(\"|')/Ui",$htmlHeaders[1], $results)){   

   $charset =  $results[1];   

}else{    

   $charset = "None";   

}   

   

// 取得 <title> 中的文字    

if(preg_match("/<title>(.*)<\/title>/Ui",$htmlHeaders[1], $htmlTitles)){   

   if(!count($htmlTitles)){   

       echo "无法解析 <title> 的内容";   

       exit;   

   }   

      

   // 将  <title> 的文字编码格式转成 UTF-8   

   if($charset == "None"){   

       $title=$htmlTitles[1];   

   }else{   

       $title=iconv($charset, "UTF-8", $htmlTitles[1]);   

   }   

   echo $title;   

}  
PHP 相关文章推荐
自定义PHP分页函数
Oct 09 PHP
第九节--绑定
Nov 16 PHP
简单采集了yahoo的一些数据
Feb 14 PHP
PHP中static关键字原理的学习研究分析
Jul 18 PHP
PHP获取当前日期所在星期(月份)的开始日期与结束日期(实现代码)
Jun 18 PHP
PHP中mysql_field_type()函数用法
Nov 24 PHP
php禁止某ip或ip地址段访问的方法
Feb 25 PHP
php语言中使用json的技巧及json的实现代码详解
Oct 27 PHP
php基于jquery的ajax技术传递json数据简单实例
Apr 15 PHP
PHP微信开发之微信录音临时转永久存储
Jan 26 PHP
Laravel关系模型指定条件查询方法
Oct 10 PHP
gearman中worker常驻后台,导致MySQL server has gone away的解决方法
Feb 27 PHP
PHP中调用SVN命令更新网站方法
Jan 07 #PHP
PHP PDO fetch 模式各种参数的输出结果一览
Jan 07 #PHP
PHP中使用php5-ffmpeg撷取视频图片实例
Jan 07 #PHP
PHP和Shell实现检查SAMBA与NFS Server是否存在
Jan 07 #PHP
PHP实现的简易版图片相似度比较
Jan 07 #PHP
PHP中使用SimpleXML检查XML文件结构实例
Jan 07 #PHP
php中$_POST与php://input的区别实例分析
Jan 07 #PHP
You might like
使用 MySQL Date/Time 类型
2008/03/26 PHP
PHP中英混合字符串截取函数代码
2011/07/17 PHP
PHP设置images目录不充许http访问的方法
2016/11/01 PHP
PHP单例模式与工厂模式详解
2017/08/29 PHP
yii2 在控制器中验证请求参数的使用方法
2019/06/19 PHP
javascript动态添加样式(行内式/嵌入式/外链式等规则)
2013/06/24 Javascript
Json和Jsonp理论实例代码详解
2013/11/15 Javascript
jquery实现的一个简单进度条效果实例
2014/05/12 Javascript
学习使用bootstrap基本控件(table、form、button)
2016/04/12 Javascript
js获取Html元素的实际宽度高度的方法
2016/05/19 Javascript
AngularJS基础 ng-srcset 指令简单示例
2016/08/03 Javascript
js基础之DOM中document对象的常用属性方法详解
2016/10/28 Javascript
AngularJS实现给动态生成的元素绑定事件的方法
2016/12/14 Javascript
vue+vue-router转场动画的实例代码
2018/09/01 Javascript
基于Nodejs的Tcp封包和解包的理解
2018/09/19 NodeJs
js屏蔽退格键(backspace或者叫后退键与F5)
2019/02/10 Javascript
小程序实现图片移动缩放效果
2020/05/26 Javascript
Python 基础教程之包和类的用法
2017/02/23 Python
Python实现读取字符串按列分配后按行输出示例
2018/04/17 Python
详解KMP算法以及python如何实现
2020/09/18 Python
Django项目在pycharm新建的步骤方法
2021/03/02 Python
利用CSS3的线性渐变linear-gradient制作边框的示例
2016/06/02 HTML / CSS
Lookfantastic法国官网:英国知名美妆购物网站
2017/10/28 全球购物
韩国流行时尚女装网站:Dintchina(中文)
2018/07/19 全球购物
北京-环亚运商测试题.net程序员初步测试题
2013/05/28 面试题
生日邀请函范文
2014/01/13 职场文书
酒店行政人事部经理职务说明书
2014/02/26 职场文书
基层干部2014全国两会学习心得体会
2014/03/10 职场文书
2014年最新学习全国两会精神心得
2014/03/17 职场文书
校园广播稿范文
2015/08/19 职场文书
学习经验交流会总结
2015/11/02 职场文书
2016教师廉洁从教心得体会
2016/01/13 职场文书
纪检干部学习心得体会
2016/01/23 职场文书
《围炉夜话》110句人生箴言,精辟有内涵,引人深思
2019/10/23 职场文书
每日六道java新手入门面试题,通往自由的道路
2021/06/30 Java/Android
Python Django项目和应用的创建详解
2021/11/27 Python