1

我有这个功能来获取网站的标题:

function getTitle($Url){
$str = file_get_contents($Url);
if(strlen($str)>0){
    preg_match("/\<title\>(.*)\<\/title\>/",$str,$title);
    return $title[1];
}
}

但是,这个功能让我的页面花了太多时间来响应。有人告诉我仅通过网站的请求标头获取标题,这不会读取整个文件,但我不知道如何。谁能告诉我应该使用哪个代码和功能来做到这一点?非常感谢。

4

3 回答 3

3

对 HTML 使用 regex 不是一个好主意,请改用 DOM Parser

$html = new simple_html_dom();
$html->load_file('****'); //put url or filename  
$title = $html->find('title');
echo $title->plaintext;

或者

// Create DOM from URL or file
$html = file_get_html('*****');

// Find all images 
foreach($html->find('title') as $element) 
       echo $element->src . '<br>';

好读

  1. RegEx 匹配打开的标签,XHTML 自包含标签除外
于 2012-12-25T05:16:39.630 回答
0

试试这个肯定会奏效

include_once 'simple_html_dom.php';

$oHtml = str_get_html($url);
$Title = array_shift($oHtml->find('title'))->innertext;
$Description = array_shift($oHtml->find("meta[name='description']"))->content;
$keywords = array_shift($oHtml->find("meta[name='keywords']"))->content;
echo $title;
echo $Description;
echo $keywords;
于 2013-09-20T07:09:12.817 回答
0

使用 jQuery 来获取页面的标题

$(document).ready(function() {
    alert($("title").text());
});​

演示:http: //jsfiddle.net/WQNT8/1/

于 2012-12-25T06:10:26.693 回答