外部のHTMLからアイキャッチ画像のURLを抜き出せると便利ですよね。※著作権にはご注意ください。
正規表現を使ってメタタグからアイキャッチ画像のURLを取得する方法です。俗にいうスクレイピングというやつです。
正規表現を使ってメタタグからアイキャッチ画像のURLを取得する方法
function getOgpImageFromHtml($html) {
preg_match_all('/<meta property="og:image" content="(.*?)"/', $html, $content);
return $content[1][0];
}
OGPからが取りやすいですが、thumbnailやTwitterCardからも取れます。
content””の中にある文字列を取得したいので、content=”(.*?)”としています。
()はグルーピングやサブパターンと言われるものです。.は任意文字、*?は最短マッチングです。
つまり一致していれば、結果の[1]にデータが格納されます。
propertyの値を変えればタイトルやメタディスクリプションなどの情報が取得できるので応用しやすいです。
まとめ
スクレイピングでアイキャッチ画像のURLを取得できれば、画像の参照や保存といったことも可能です。
くれぐれも著作権侵害のようなことにならないようにだけはお気を付けいただければと思います。