URL のリンク先のページ概要を表示する際には、OGP の画像を利用すると便利です。
「3時のOYATSU」でもおやつニュースは OGP の og:image の画像を表示しています。
下記で og:image の URL を取得できます。
function get_og_image_url ( $content )
{
if (preg_match_all( "<meta property=\"og:([^\"]+)\" content=\"([^\"]+)\">", $content, $ogp_list )){
if (is_array($ogp_list) && isset($ogp_list[1])) {
for ($i = 0; $i < count($ogp_list[1]); $i++) {
$ogp_result[$ogp_list[1][$i]] = $ogp_list[2][$i];
}
}
if (isset($ogp_result['image'])) {
return $ogp_result['image'];
}
}
return false;
}
この get_og_image_url に パラメータとして解析したいページの html の中身を渡すと、og:image の URL が返ってきます。
og:image が存在しない場合は false が返ってきます。
$image_url = get_og_image_url($html);
if ($image_url) {
$image = file_get_contents($image_url);
$file_name = "image_name.jpg";
file_put_contents($file_name, $image);
}
あとは取得した URL から画像をダウンロードして、指定したディレクトリに保存すれば OK です。
※この記事の内容は https://3jino-oyatsu.com/blog/85/ からお引越ししたものです