登录  /  注册

php怎么自动将url生成链接并提取title

PHPz
发布: 2016-06-06 20:46:27
原创
1889人浏览过

php自动将url生成链接并提取title的方法:首先用jquery进行url合法性检查,接着异步提交给php;然后用curl获取url的内容;最后用php将获取的title或出错信息,返回给前端jquery即可。

php怎么自动将url生成链接并提取title

php怎么实现自动将url生成链接并提取title?

具体问题:

php 自动将url生成链接,然后提取title

输入的如果是url能够自动生成链接,让后会抓取这个链接的title显示。有什么好的方法吗?

用php或js都行。

方法回答:

1 用户输入的URL在前端用jQuery进行简单的URL合法性检查后,异步提交给PHP

2 PHP检测URL是否合法,用Curl进行获取URL的内容

3 PHP把的获取Title或出错信息,返回给前端jQuery.

<?php
//文件编码为UTF-8(无BOM)
error_reporting(E_ALL || E_STRICT);
$url = &#39;http://q我q.com&#39;;
//首先判断用户输入的URL是否合法
if (!filter_var($url, FILTER_VALIDATE_URL)) {
    die(&#39;你输入的不是一个正常的URL.&#39;);
}
$ch = curl_init();
curl_setopt_array($ch, array(
    CURLOPT_HEADER => false,
    CURLOPT_URL => $url,
    //考虑到有些网站是301跳转的.
    CURLOPT_FOLLOWLOCATION => true,
    //连接的超时时间设置为5秒
    CURLOPT_CONNECTTIMEOUT => 5,
    //响应超时时间为5秒
    CURLOPT_TIMEOUT => 5,
    CURLOPT_VERBOSE => false,
    CURLOPT_AUTOREFERER => true,
    //接收所有的编码
    CURLOPT_ENCODING => &#39;&#39;,
    //返回页面内容
    CURLOPT_RETURNTRANSFER => true,
));
$response = curl_exec($ch);
//检测网页的编码,把非UTF-8编码的页面,统一转换为UTF-8处理.
if (&#39;UTF-8&#39; !== ($encoding = mb_detect_encoding($response, array(&#39;UTF-8&#39;, &#39;CP936&#39;, &#39;ASCII&#39;)))) {
    $response = mb_convert_encoding($response, &#39;UTF-8&#39;, $encoding);
}
//匹配一下title
$title = &#39;没有成功获取到标题&#39;;
if (preg_match(&#39;#<title>(.*)</title>#isU&#39;, $response, $match)) {
    $title = $match[1];
}
echo $title;
登录后复制

更多相关技术文章,请访问PHP中文网

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
关于CSS思维导图的课件在哪? 课件
凡人来自于2024-04-16 10:10:18
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号