pukiwiki/Open Graph Protocol (OGP) の履歴(No.1)
更新twitter や Facebook に張られたリンクをキレイに表示する†
https://www.agilegroup.co.jp/technote/magnolia-ogp.html
と
とを参考に、
LANG:php
<!-- ここからOGPコード-->
<meta property="og:title" content="<?php echo $title ?>">
<meta property="og:type" content="article">
<meta property="og:url" content="<?php echo 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; ?>">
<meta property="og:description" content="<?php
$str = $body;
$pos = strpos($str, '<div class="contents">'); // 目次を取り除く
if($pos) {
$str = substr($str, strpos($str, '</div>', $pos)+5);
}
$str = preg_replace('/.*?<\/h[1-5]>/', '', $str); // 見出しを取り除く
echo $str = str_replace(array("\r\n","\r","\n"," "," "), '', mb_strcut(strip_htmltag($str,$all = TRUE),0,400,"UTF-8"));
?>">
<meta property="og:site_name" content="<?php echo $page_title ?>">
<?php
$str = $body; // data-ogp が付いた画像を優先する
$result = preg_match_all('/<img.*?src=(["\'])(.+?)\1.*?data-ogp.*?>/i', $str, $imgurl);
if(!$result) {
$result = preg_match_all('/<img.*?src=(["\'])(.+?)\1.*?>/i', $str, $imgurl);
}
if($result) {
echo '<meta property="og:image" content="' . htmlspecialchars_decode($imgurl[2][0]) . '">';
}
?>
<!-- ここまでOGPコード-->
Counter: 4213 (from 2010/06/03),
today: 1,
yesterday: 0