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;
1 用户输入的URL在前端用jQuery进行简单的URL合法性检查后,异步提交给PHP
2 PHP检测URL是否合法,用Curl进行获取URL的内容
3 PHP把的获取Title或出错信息,返回给前端jQuery.