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和数据库结合的一个简单的web实例 代码分析 (php初学者)
Jul 28 PHP
php启动时候提示PHP startup的解决方法
May 07 PHP
解决nginx不支持thinkphp中pathinfo的问题
Jul 21 PHP
PHP结合Ueditor并修改图片上传路径
Oct 16 PHP
Yii 2.0在Grid中格式化时间方法示例
Jun 06 PHP
Yii输入正确验证码却验证失败的解决方法
Jun 06 PHP
PHP调用API接口实现天气查询功能的示例
Sep 21 PHP
Laravel中的Blade模板引擎示例详解
Oct 10 PHP
php实现解析xml并生成sql语句的方法
Feb 03 PHP
可兼容php5与php7的cURL文件上传功能实例分析
May 11 PHP
laravel Model 执行事务的实现
Oct 10 PHP
详解将数据从Laravel传送到vue的四种方式
Oct 16 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
php中日期加减法运算实现代码
2011/12/08 PHP
第五章 php数组操作
2011/12/30 PHP
微博短链接算法php版本实现代码
2012/09/15 PHP
php 使用 __call实现重载功能示例
2019/11/18 PHP
客户端静态页面玩分页
2006/06/26 Javascript
Javascript遍历table中的元素示例代码
2014/07/08 Javascript
a标签的href与onclick事件的区别详解
2014/11/12 Javascript
node.js解决获取图片真实文件类型的问题
2014/12/20 Javascript
javascript函数式编程实例分析
2015/04/25 Javascript
jquery实现键盘左右翻页特效
2015/04/30 Javascript
通过Jquery.cookie.js实现展示浏览网页的历史记录超管用
2015/10/23 Javascript
JavaScript ParseFloat()方法
2015/12/18 Javascript
javascript设计模式之Adapter模式【适配器模式】实现方法示例
2017/01/13 Javascript
javascript中递归的两种写法
2017/01/17 Javascript
巧用weui.topTips验证数据的实例
2017/04/17 Javascript
浅析webpack 如何优雅的使用tree-shaking(摇树优化)
2017/08/16 Javascript
jQuery实现用户信息表格的添加和删除功能
2017/09/12 jQuery
使用node.js实现微信小程序实时聊天功能
2018/08/13 Javascript
更优雅的微信小程序骨架屏实现详解
2019/08/07 Javascript
微信小程序后台持续定位功能使用详解
2019/08/23 Javascript
浅谈监听单选框radio改变事件(和layui中单选按钮改变事件)
2019/09/10 Javascript
Python 字符串转换为整形和浮点类型的方法
2018/07/17 Python
Python3随机漫步生成数据并绘制
2018/08/27 Python
Python hexstring-list-str之间的转换方法
2019/06/12 Python
python2爬取百度贴吧指定关键字和图片代码实例
2019/08/14 Python
Django框架之中间件MiddleWare的实现
2019/12/30 Python
Python对称的二叉树多种思路实现方法
2020/02/28 Python
Django REST 异常处理详解
2020/07/15 Python
The Hut美国/加拿大:英国领先的豪华在线百货商店
2019/03/26 全球购物
必须要使用游标的SQL语句有那些
2012/05/07 面试题
大学新生军训个人的自我评价
2013/10/03 职场文书
网络教育自我鉴定
2014/02/04 职场文书
仓管岗位职责范本
2014/02/08 职场文书
作风整顿剖析材料
2014/09/30 职场文书
法定代表人身份证明书(含说明)
2014/10/02 职场文书
丧事主持词
2015/07/02 职场文书