2

ファビコンが常にベース URL にあるとは限らないことを考慮して、一般的な Web ページからファビコンの URL を取得する方法が必要です。

Ps 外部サービスを使用せずに。

4

5 に答える 5

7

ページのファビコンは常に

  • ドメインのルート、次に /favicon.ico ( http://example.com/favicon.ico )
  • または「ショートカット アイコン」の <link> タグが指す URI。

最初に /favicon.ico の HEAD リクエストを試してください (CURL で実行できるはずです)。それが機能しない場合は、ページ自体をフェッチし、HTML を解析して、一致するタグが見つかるかどうかを確認します。

于 2012-04-23T14:39:47.727 に答える
3

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要素で指定されている場合にのみアイコンを取得します

于 2012-04-23T14:43:48.917 に答える
1

HTML パーサーを使用して、ファビコン情報を含むリンク タグを探すことができます。type 属性は「image/x-icon」として設定する必要があり、rel 属性は「shortcut icon」または「icon」のいずれかです。href 属性はファビコンのアドレスになります。

于 2012-04-23T14:39:54.060 に答える
-2

将来の使用のために、jQueryを使用してページのファビコンを取得するには、使用できます

jQuery('link[rel*=icon]').attr('href');
于 2012-04-23T14:45:49.317 に答える