php怎么自动将url生成链接并提取title
程序员文章站
2022-05-20 12:57:58
...
php自动将url生成链接并提取title的方法:首先用jQuery进行URL合法性检查,接着异步提交给PHP;然后用Curl获取URL的内容;最后用PHP将获取的Title或出错信息,返回给前端jQuery即可。
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 = 'http://q我q.com'; //首先判断用户输入的URL是否合法 if (!filter_var($url, FILTER_VALIDATE_URL)) { die('你输入的不是一个正常的URL.'); } $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 => '', //返回页面内容 CURLOPT_RETURNTRANSFER => true, )); $response = curl_exec($ch); //检测网页的编码,把非UTF-8编码的页面,统一转换为UTF-8处理. if ('UTF-8' !== ($encoding = mb_detect_encoding($response, array('UTF-8', 'CP936', 'ASCII')))) { $response = mb_convert_encoding($response, 'UTF-8', $encoding); } //匹配一下title $title = '没有成功获取到标题'; if (preg_match('#<title>(.*)</title>#isU', $response, $match)) { $title = $match[1]; } echo $title;
更多相关技术文章,请访问PHP中文网!