Я пытаюсь получить метатеги Facebook из моего HTML.
Я использую простой html dom, чтобы получить все html-данные с сайта. Я пробовал с preg_replace, но без везения.
Например, я хочу получить содержимое этого метатега fb:
<meta content="IMAGE URL" property="og:image" />
Надеюсь, кто-то может помочь! 🙂
Я собирался предложить использовать get_meta_tags (), но, похоже, он не работает (для меня): s
<?php $tags = get_meta_tags('http://www.example.com/'); echo $tags['og:image']; ?>
Но я предпочел бы использовать DOMDocument в любом случае:
<?php $sites_html = file_get_contents('http://example.com'); $html = new DOMDocument(); @$html->loadHTML($sites_html); $meta_og_img = null; //Get all meta tags and loop through them. foreach($html->getElementsByTagName('meta') as $meta) { //If the property attribute of the meta tag is og:image if($meta->getAttribute('property')=='og:image'){ //Assign the value from content attribute to $meta_og_img $meta_og_img = $meta->getAttribute('content'); } } echo $meta_og_img; ?>
Надеюсь, поможет
В соответствии с этим методом вы получите массив ключей пары открываемых графических меток fabcebook.
$url="http://fbcpictures.in"; $site_html= file_get_contents($url); $matches=null; preg_match_all('~<\s*meta\s+property="(og:[^"]+)"\s+content="([^"]*)~i', $site_html,$matches); $ogtags=array(); for($i=0;$i<count($matches[1]);$i++) { $ogtags[$matches[1][$i]]=$matches[2][$i]; }