输入的如果是url能够自动生成链接,让后会抓取这个链接的title显示。有什么好的方法吗?
用php或js都行。
本文来源gao@!dai!ma.com搞$$代^@码!网!搞gaodaima代码
回复内容:
输入的如果是url能够自动生成链接,让后会抓取这个链接的title显示。有什么好的方法吗?
用php或js都行。
1 用户输入的URL在前端用jQuery进行简单的URL合法性检查后,异步提交给PHP
2 PHP检测URL是否合法,用Curl进行获取URL的内容
3 PHP把的获取Title或出错信息,返回给前端jQuery.
<code class="lang-php"><?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;</code>