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实现保存submit内容之后禁止刷新
Mar 19 PHP
PHP实现的交通银行网银在线支付接口ECSHOP插件和使用例子
May 10 PHP
访问编码后的中文URL返回404错误的解决方法
Aug 20 PHP
php随机抽奖实例分析
Mar 04 PHP
php实现表单多按钮提交action的处理方法
Oct 24 PHP
php实现微信公众号主动推送消息
Dec 31 PHP
PHP结合Ueditor并修改图片上传路径
Oct 16 PHP
PHP去除字符串最后一个字符的三种方法实例
Mar 01 PHP
lnmp安装多版本PHP共存的方法详解
Aug 02 PHP
YII2框架中查询生成器Query()的使用方法示例
Mar 18 PHP
PHP array_reverse() 函数原理及实例解析
Jul 14 PHP
win10下 php安装seaslog扩展的详细步骤
Dec 04 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共享内存段示例分享
2014/01/20 PHP
php采用curl访问域名返回405 method not allowed提示的解决方法
2014/06/26 PHP
WordPress中用于创建以及获取侧边栏的PHP函数讲解
2015/12/29 PHP
php实现购物车功能(上)
2020/07/23 PHP
ThinkPHP连接Oracle数据库
2016/04/22 PHP
一次因composer错误使用引发的问题与解决
2019/03/06 PHP
Javascript动态绑定事件的简单实现代码
2010/12/25 Javascript
input 输入框获得/失去焦点时隐藏/显示文字(jquery版)
2013/04/02 Javascript
jQuery 遍历- 关于closest() 的方法介绍以及与parents()的方法区别分析
2013/04/26 Javascript
批量修改标签css样式以input标签为例
2014/07/31 Javascript
JavaScript返回0-1之间随机数的方法
2015/04/06 Javascript
jQuery简单实现图片预加载
2015/04/20 Javascript
JavaScript实现鼠标点击后层展开效果的方法
2015/05/13 Javascript
浅谈jquery中delegate()与live()
2015/06/22 Javascript
jquery+CSS3实现淘宝移动网页菜单效果
2015/08/31 Javascript
AngularJs学习第五篇从Controller控制器谈谈$scope作用域
2016/06/08 Javascript
浅谈JS中的三种字符串连接方式及其性能比较
2016/09/02 Javascript
javascript入门之window对象【新手必看】
2016/11/22 Javascript
使用jquery实现的循环连续可停顿滚动实例
2016/11/23 Javascript
javascript动画之磁性吸附效果篇
2016/12/09 Javascript
JavaScript字符集编码与解码详谈
2017/02/02 Javascript
ES6中字符串string常用的新增方法小结
2017/11/07 Javascript
Angular学习教程之RouterLink花式跳转
2018/05/03 Javascript
VUE+node(express)实现前后端分离
2019/10/13 Javascript
使用 UniApp 实现小程序的微信登录功能
2020/06/09 Javascript
[01:48]DOTA2 2015国际邀请赛中国区预选赛第二日战报
2015/05/27 DOTA
[00:59]DOTA2背景故事第二期之四大基本法则
2020/07/07 DOTA
pycharm 实现显示project 选项卡的方法
2019/01/17 Python
python+selenium自动化实战携带cookies模拟登陆微博
2021/01/19 Python
Flesh Beauty官网:露华浓集团旗下彩妆品牌
2021/02/15 全球购物
杭州时比特电子有限公司SQL
2013/08/22 面试题
硕士研究生求职自荐信范文
2014/03/11 职场文书
校园广播站开场白
2015/06/01 职场文书
毕业生入职感言
2015/07/31 职场文书
关于公司年会的开幕词
2016/03/04 职场文书
Python Matplotlib绘制等高线图与渐变色扇形图
2022/04/14 Python