当前位置:Gxlcms >
PHP教程 >
PHP中使用CURL获取页面title例子,curltitle_PHP教程
PHP中使用CURL获取页面title例子,curltitle_PHP教程
时间:2021-07-01 10:21:17
帮助过:13人阅读
PHP中使用CURL获取页面title例子,curltitle
通过PHP获取页面title内容的实战演示:
范例代码:
代码如下:
<?php
/*
功能: 取得 URL 页面上的
内容 <br />
<br />
参数:$_POST['url'] <br />
*/ <br />
<br />
// 设置最长执行的秒数 <br />
ini_set ("expect.timeout", 30); <br />
set_time_limit(30); <br />
<br />
// 检查 URL <br />
if(!isset($_POST['url']) || $_POST['url'] == ''){ <br />
echo "URL 错误"; <br />
exit; <br />
} <br />
<br />
<br />
/* 取得 URL 页面数据 */ <br />
// 初始化 CURL <br />
$ch = curl_init(); <br />
<br />
// 设置 URL <br />
curl_setopt($ch, CURLOPT_URL, $_POST['url']); <br />
// 让 curl_exec() 获取的信息以数据流的形式返回,而不是直接</pre>输出。 <br />
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); <br />
// 在发起连接前等待的时间,如果设置为0,则不等待 <br />
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 0); <br />
// 设置 CURL 最长执行的秒数 <br />
curl_setopt ($ch, CURLOPT_TIMEOUT, 30); <br />
<br />
// 尝试取得文件内容 <br />
$store = curl_exec ($ch); <br />
<br />
<br />
// 检查文件是否正确取得 <br />
if (curl_errno($ch)){ <br />
echo "无法取得 URL 数据"; <br />
//echo curl_error($ch);/*显示错误信息*/ <br />
exit; <br />
} <br />
<br />
// 关闭 CURL <br />
curl_close($ch); <br />
<br />
<br />
// 解析 HTML 的 <head> 区段 <br />
preg_match("/<head.*>(.*)<\/head>/smUi",$store, $htmlHeaders); <br />
if(!count($htmlHeaders)){ <br />
echo "无法解析数据中的 <head> 区段"; <br />
exit; <br />
} <br />
<br />
// 取得 <head> 中 meta 设置的编码格式 <br />
if(preg_match("/<meta[^>]*http-equiv[^>]*charset=(.*)(\"|')/Ui",$htmlHeaders[1], $results)){ <br />
$charset = $results[1]; <br />
}else{ <br />
$charset = "None"; <br />
} <br />
<br />
// 取得 <title> 中的文字 <br />
if(preg_match("/<title>(.*)<\/title>/Ui",$htmlHeaders[1], $htmlTitles)){ <br />
if(!count($htmlTitles)){ <br />
echo "无法解析 <title> 的内容"; <br />
exit; <br />
} <br />
<br />
// 将 <title> 的文字编码格式转成 UTF-8 <br />
if($charset == "None"){ <br />
$title=$htmlTitles[1]; <br />
}else{ <br />
$title=iconv($charset, "UTF-8", $htmlTitles[1]); <br />
} <br />
echo $title; <br />
} <br />
</p>
</p>
<p align="left"><span id="url" itemprop="url">http://www.bkjia.com/PHPjc/939415.html</span><span id="indexUrl" itemprop="indexUrl">www.bkjia.com</span><span id="isOriginal" itemprop="isOriginal">true</span><span id="isBasedOnUrl" itemprop="isBasedOnUrl">http://www.bkjia.com/PHPjc/939415.html</span><span id="genre" itemprop="genre">TechArticle</span><span id="description" itemprop="description">PHP中使用CURL获取页面title例子,curltitle 通过PHP获取页面title内容的实战演示: 范例代码: 代码如下:<pre class="brush:php;toolbar:false">php /* 功能: 取得 URL 页面上...</span></p>
</div>
<div class="">
<ul class="m-news-opt fix">
<li class="opt-item">
<a href='/PHPjiqiao-154893.html' target='_blank'><p>< 上一篇</p><p class="ellipsis">PHP中使用php5-ffmpeg撷取视频图片实例,_PHP教程</p></a>
</li>
<li class="opt-item ta-r">
<a href='/PHPjiqiao-154895.html' target='_blank'><p>下一篇 ></p><p class="ellipsis">ZendGuard使用指南及问题处理,zendguard_PHP教程</p></a>
</li>
</ul>
</div>
</div>
</div>
<div class="g-title fix">
<h2 class="title-txt">人气教程排行</h2>
</div>
<div class="m-rank u-dashed mb40">
<ul>
<li class="rank-item">
<a href="/PHPjiqiao-379253.html" title='php如何获取跳转前的url' class="item-name ellipsis" target="_blank">
<span class="g-art-count fr">174次</span>
<span class="g-sort-num top">1</span>
php如何获取跳转前的url </a>
</li> <li class="rank-item">
<a href="/PHPjiqiao-379019.html" title='php格林威治时间转换成当前时间的方法' class="item-name ellipsis" target="_blank">
<span class="g-art-count fr">174次</span>
<span class="g-sort-num second">2</span>
php格林威治时间转换成当前时间的方法 </a>
</li> <li class="rank-item">
<a href="/PHPjiqiao-366629.html" title='为什么php不能做大型系统?' class="item-name ellipsis" target="_blank">
<span class="g-art-count fr">174次</span>
<span class="g-sort-num third">3</span>
为什么php不能做大型系统? </a>
</li> <li class="rank-item">
<a href="/PHPjiqiao-207623.html" title='range函数怎么用' class="item-name ellipsis" target="_blank">
<span class="g-art-count fr">174次</span>
<span class="g-sort-num ">4</span>
range函数怎么用 </a>
</li> <li class="rank-item">
<a href="/PHPjiqiao-162433.html" title='php中计算页面加载时间几种方法总结_PHP教程' class="item-name ellipsis" target="_blank">
<span class="g-art-count fr">174次</span>
<span class="g-sort-num ">5</span>
php中计算页面加载时间几种方法总结_PHP教程 </a>
</li> <li class="rank-item">
<a href="/PHPjiqiao-140221.html" title='求帮助,关于paypal支付返回值修改订单状态' class="item-name ellipsis" target="_blank">
<span class="g-art-count fr">174次</span>
<span class="g-sort-num ">6</span>
求帮助,关于paypal支付返回值修改订单状态 </a>
</li> <li class="rank-item">
<a href="/PHPjiqiao-103588.html" title='typecho怎么配置文章内容页?' class="item-name ellipsis" target="_blank">
<span class="g-art-count fr">174次</span>
<span class="g-sort-num ">7</span>
typecho怎么配置文章内容页? </a>
</li> <li class="rank-item">
<a href="/PHPjiqiao-99213.html" title='PhpStorm左侧structure不显示文件的方法列表是这么回事?' class="item-name ellipsis" target="_blank">
<span class="g-art-count fr">174次</span>
<span class="g-sort-num ">8</span>
PhpStorm左侧structure不显示文件的方法列表是这么回事? </a>
</li> <li class="rank-item">
<a href="/PHPjiqiao-92208.html" title='查看PHP的环境变量_PHP' class="item-name ellipsis" target="_blank">
<span class="g-art-count fr">174次</span>
<span class="g-sort-num ">9</span>
查看PHP的环境变量_PHP </a>
</li> <li class="rank-item">
<a href="/PHPjiqiao-170.html" title='PHP Primary script unknown 解决方法总结' class="item-name ellipsis" target="_blank">
<span class="g-art-count fr">174次</span>
<span class="g-sort-num ">10</span>
PHP Primary script unknown 解决方法总结 </a>
</li> <li class="rank-item">
<a href="/PHPjiqiao-148.html" title='php的命名空间与自动加载实现方法' class="item-name ellipsis" target="_blank">
<span class="g-art-count fr">174次</span>
<span class="g-sort-num ">11</span>
php的命名空间与自动加载实现方法 </a>
</li> <li class="rank-item">
<a href="/PHPjiqiao-133.html" title='解决laravel 出现ajax请求419(unknown status)的问题' class="item-name ellipsis" target="_blank">
<span class="g-art-count fr">174次</span>
<span class="g-sort-num ">12</span>
解决laravel 出现ajax请求419(unknown status)的问题 </a>
</li> <li class="rank-item">
<a href="/PHPjiqiao-462817.html" title='php 如何删除mysql记录' class="item-name ellipsis" target="_blank">
<span class="g-art-count fr">173次</span>
<span class="g-sort-num ">13</span>
php 如何删除mysql记录 </a>
</li> <li class="rank-item">
<a href="/PHPjiqiao-388448.html" title='PHP如何替换数组中的指定元素' class="item-name ellipsis" target="_blank">
<span class="g-art-count fr">173次</span>
<span class="g-sort-num ">14</span>
PHP如何替换数组中的指定元素 </a>
</li> <li class="rank-item">
<a href="/PHPjiqiao-124270.html" title='怎么去除字符串中非汉字、非字母、非数字的字符' class="item-name ellipsis" target="_blank">
<span class="g-art-count fr">173次</span>
<span class="g-sort-num ">15</span>
怎么去除字符串中非汉字、非字母、非数字的字符 </a>
</li> <li class="rank-item">
<a href="/PHPjiqiao-112291.html" title='mysql如何一次执行多条SQL语句' class="item-name ellipsis" target="_blank">
<span class="g-art-count fr">173次</span>
<span class="g-sort-num ">16</span>
mysql如何一次执行多条SQL语句 </a>
</li> <li class="rank-item">
<a href="/PHPjiqiao-110669.html" title='修改header里面的Connection为close解决方法' class="item-name ellipsis" target="_blank">
<span class="g-art-count fr">173次</span>
<span class="g-sort-num ">17</span>
修改header里面的Connection为close解决方法 </a>
</li> <li class="rank-item">
<a href="/PHPjiqiao-153.html" title='PHP基于session.upload_progress 实现文件上传进度显示功能详解' class="item-name ellipsis" target="_blank">
<span class="g-art-count fr">173次</span>
<span class="g-sort-num ">18</span>
PHP基于session.upload_progress 实现文件上传进度显示功能详解 </a>
</li> <li class="rank-item">
<a href="/PHPjiqiao-125.html" title='php5.6.x到php7.0.x特性小结' class="item-name ellipsis" target="_blank">
<span class="g-art-count fr">173次</span>
<span class="g-sort-num ">19</span>
php5.6.x到php7.0.x特性小结 </a>
</li> <li class="rank-item">
<a href="/PHPjiqiao-378118.html" title='php为什么会出现504错误' class="item-name ellipsis" target="_blank">
<span class="g-art-count fr">172次</span>
<span class="g-sort-num ">20</span>
php为什么会出现504错误 </a>
</li>
</ul>
</div>
</div>
</div>
<!-- / 教程内容页 -->
</div>
</div>
<!-- 页尾 -->
<div class="footer">
本站所有资源全部来源于网络,若本站发布的内容侵害到您的隐私或者利益,请联系我们删除!</div>
<!-- / 页尾 -->
<script type="text/javascript" src="/kan/js/read.js"></script>
<div style="display:none">
<div class="login-box" id="login-dialog">
<div class="login-top"><a class="current" rel="nofollow" id="login1" onclick="setTab('login',1,2);" >登录</a></div>
<div class="login-form" id="nav-signin">
<!-- <div class="login-ico"><a rel="nofollow" class="qq" id="qqlogin" target="_blank" href="/user-center-qqlogin.html"> QQ </a></div> -->
<div class="login-box-form" id="con_login_1">
<form id="loginform" action="/user-center-login.html" method="post" onsubmit="return false;">
<p class="int-text">
<input class="email" id="username" name="username" type="text" value="用户名或Email" onfocus="if(this.value=='用户名或Email'){this.value='';}" onblur="if(this.value==''){this.value='用户名或Email';};" ></p>
<p class="int-text">
<input class="password1" type="password" id="password" name="password" value="******" onBlur="if(this.value=='') this.value='******';" onFocus="if(this.value=='******') this.value='';" >
</p>
<p class="int-info">
<label class="ui-label"> </label>
<label for="agreement" class="ui-label-checkbox">
<input type="checkbox" value="" name="cookietime" id="cookietime" checked="checked" value="2592000">
<input type="hidden" name="notforward" id="notforward" value="1">
<input type="hidden" name="dosubmit" id="dosubmit" value="1">记住我的登录 </label>
<a rel="nofollow" class="aright" href="/user-center-forgetpwd.html" target="_blank"> 忘记密码? </a></p>
<p class="int-btn"><a rel="nofollow" id="loginbt" class="loginbtn"><span>登录</span></a></p>
</form>
</div>
<form id="regform" action="/user-center-reg.html" method="post">
<div class="login-reg" style="display: none;" id="con_login_2">
<input type="hidden" name="t" id="t"/>
<p class="int-text">
<input id="email" name="email" type="text" value="Email" onfocus="if(this.value=='Email'){this.value='';}" onblur="if(this.value==''){this.value='Email';};"></p>
<p class="int-text">
<input id="uname" name="username" type="text" value="用户名或昵称" onfocus="if(this.value=='用户名或昵称'){this.value='';}" onblur="if(this.value==''){this.value='用户名或昵称';};"></p>
<p class="int-text">
<input type="password" id="pwd" name="password" value="******" onBlur="if(this.value=='') this.value='******';" onFocus="if(this.value=='******') this.value='';"> </p>
<p class="int-text1"><span class="inputbox">
<input id="validate" name="validate" type="text" value="验证码" onfocus="if(this.value=='验证码'){this.value='';}" onblur="if(this.value==''){this.value='验证码';};">
</span><span class="yzm-img"><img src="/user-checkcode-index" alt="看不清楚换一张" id="indexlogin"></p>
<p class="int-info">
<label>
<input value="" name="agreement" id="agreement" CHECKED="checked" type="checkbox">
我已阅读<a rel="nofollow" href="/user-center-agreement.html">用户协议</a>及<a rel="nofollow" href="/user-center-agreement.html">版权声明</a></label>
</p>
<p class="int-btn"><input type="hidden" name="dosubmit"/>
<a rel="nofollow" class="loginbtn" id="register"><span>注册</span></a></p>
</div>
</form>
</div>
</div>
</div>
</div>
<script type="text/javascript" src="/kan/js/foot_js.js"></script>
<script>
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?6dc1c3c5281cf70f49bc0bc860ec24f2";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script>
<script type="text/javascript" src="/layui/layui.js"></script>
<script>
layui.use('code', function() {
layui.code({
elem: 'pre', //默认值为.layui-code
about: false,
skin: 'notepad',
title: 'php怎么实现数据库验证跳转代码块',
encode: true //是否转义html标签。默认不开启
});
});
</script>
</body>
</html>