如何从通用网页获取favicon的URL?

时间:2012-04-23 14:35:04

标签: php

我需要一种方法从通用网页获取favicon的URL,因为favicon并不总是在基本网址上。

P.S。不使用外部服务。

5 个答案:

答案 0 :(得分:7)

页面的favicon始终位于

首先尝试针对/favicon.ico的HEAD请求(CURL应该可以这样做),如果这不起作用,请获取页面本身,解析HTML并查看是否可以找到匹配的标记。

答案 1 :(得分: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元素

中指定时才会显示图标

答案 2 :(得分:1)

您可以使用HTML解析器查找包含favicon信息的链接标记。 type属性应设置为“image / x-icon”,rel属性为“快捷图标”或“图标”。 href属性将是favicon的地址。

答案 3 :(得分:1)

使用S2 service  由谷歌提供。它就像这个一样简单

http://www.google.com/s2/favicons?domain=www.yourdomain.com

答案 4 :(得分:-2)

为了将来使用,要使用jQuery获取页面的favicon,您可以使用

jQuery('link[rel*=icon]').attr('href');