У меня возникли проблемы с получением мета-описания / названия с этого конкретного сайта .
Вот какой код:
$file = file('http://www.thegooddrugsguide.com/lsd/index.htm'); $file = implode("",$file); if (preg_match('/<title>(.*?)<\/title>/is',$file,$t)) $title = $t[1];
Он работает с другими сайтами, но не с сайтом, о котором идет речь. В чем может быть проблема?
Это должно работать нормально:
$doc = new DOMDocument; $doc->loadHTMLFile('http://example.com'); $title = $doc->getElementsByTagName('title'); $title = $title[0]; $metas = $doc->getElementsByTagName('meta'); foreach ($metas as $meta) { if (strtolower($meta->getAttribute('name')) == 'description') { $description = $meta->getAttribute('value'); } }
Дополнительная информация: http://www.php.net/manual/en/book.dom.php
Изменить : эта более короткая версия также может работать, чтобы найти описание:
$xpath = new DOMXPath($doc); $description = $xpath->query('//meta[@name="description"]/@content');
$url = "http://www.thegooddrugsguide.com/lsd/index.htm"; $tags = get_meta_tags($url); $description = $tags["description"];