リンク先のogpを取得するphp

リンク先のogpを取得するphp

OpenGraph.phpを呼び出して使用する

<?php include_once(HTTP_PATH . '/OpenGraph.php');?>
<?php $opengraph = OpenGraph::fetch('http://cookpad.com/recipe/1606942');  ?>
<p><?php echo($opengraph->title);?></p>
<p><?php echo($opengraph->description);?></p>
<img src="<?php echo($graph->image);?>" />

文字化けが起こる場合には、Qiitaの修正を反映させてみる。

<?php
$url = "http://qiita.com/";
$body = file_get_contents($url);
$body = str_replace('<meta charset="UTF-8">', '<meta charset="UTF-8"><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">', $body);
$dom = new DOMDocument();
@$dom->loadHTML($body);
$title = $dom->getElementsByTagName('title')->item(0)->textContent;
print "$title\n";

参考サイト

ITかあさん
OGPを超簡単にパース可能なPHPスクリプト OpenGraph.php
http://www.kaasan.info/archives/1982
Qiita
DOMDocument::loadHTML が meta の charset を解釈してくれない問題と対策
http://qiita.com/kobake@github/items/3c5d09f9584a8786339d
GitHub
opengraph
https://github.com/scottmac/opengraph/