我有这个功能来获取网站的标题:
function getTitle($Url){
$str = file_get_contents($Url);
if(strlen($str)>0){
preg_match("/\<title\>(.*)\<\/title\>/",$str,$title);
return $title[1];
}
}
然而,这个功能使我的页面花了太多时间来回应。有人告诉我只通过网站的请求标题获取标题,这不会读取整个文件,但我不知道如何。任何人都可以告诉我应该使用哪些代码和功能来执行此操作?非常感谢你。
答案 0 :(得分:3)
使用正则表达式不是HTML的好主意,而是使用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 :(得分:0)
使用jQuery代替获取页面标题
$(document).ready(function() {
alert($("title").text());
});
答案 2 :(得分: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;