ファビコンが常にベース URL にあるとは限らないことを考慮して、一般的な Web ページからファビコンの URL を取得する方法が必要です。
Ps 外部サービスを使用せずに。
ページのファビコンは常に
最初に /favicon.ico の HEAD リクエストを試してください (CURL で実行できるはずです)。それが機能しない場合は、ページ自体をフェッチし、HTML を解析して、一致するタグが見つかるかどうかを確認します。
Simple HTML DOM Parserを使用して、コンテンツの取得と結果の解析の両方を行うことができます。
$html = file_get_html('http://www.google.com/');
$icon = '';
foreach($html->find('link') as $element) {
if($element->rel == "shortcut icon" || $element->rel == "icon")
$icon = $element->href;
}
注: 上記のコードは、link
要素で指定されている場合にのみアイコンを取得します
HTML パーサーを使用して、ファビコン情報を含むリンク タグを探すことができます。type 属性は「image/x-icon」として設定する必要があり、rel 属性は「shortcut icon」または「icon」のいずれかです。href 属性はファビコンのアドレスになります。
将来の使用のために、jQueryを使用してページのファビコンを取得するには、使用できます
jQuery('link[rel*=icon]').attr('href');