Как получить заголовок страницы в php?

У меня есть эта функция, чтобы получить название веб-сайта:

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

Однако эта функция делает мою страницу слишком много времени для ответа. Кто-то говорит мне, чтобы получить заголовок по заголовку запроса только на веб-сайте, который не будет читать весь файл, но я не знаю, как это сделать. Может кто-нибудь, пожалуйста, скажите мне, какой код и функции я должен использовать для этого? Большое спасибо.

Использование regex – не очень хорошая идея для 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. RegEx соответствуют открытым тегам, за исключением тегов XHTML

Используйте jQuery Вместо этого, чтобы получить название вашей страницы

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

Демо: http://jsfiddle.net/WQNT8/1/

попробуйте, это будет работать уверенно

 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;