【PHP】HTMLからアイキャッチ画像を取得する方法

php システム開発
この記事は約2分で読めます。

外部の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を取得できれば、画像の参照や保存といったことも可能です。

くれぐれも著作権侵害のようなことにならないようにだけはお気を付けいただければと思います。

この記事を書いた人
サイト運営者
RYU
RYU

静岡の情シス顧問|情シス出身→大手システム会社→独立|
企業のITコスト・契約・情シス体制を整理|
システム会社の見積確認、社内対応と外部依頼の整理|
Salesforce上流・見積評価にも対応|
現場に寄り添い、ITで会社を強くする。

RYUをフォローする
システム開発
スポンサーリンク