在页面上获取最相关的图像

时间:2014-06-09 13:47:26

标签: php image

我正在从网页收集所有图片。但是因为可能有一些.png的图标也被视为图像。

我可以只在页面上显示真实图像,而不是图标或图标吗?

HEre是我的简单剧本

function get_logo($html,$url) 
{
    $url = rtrim($url, '/');
    if (strpos($url,'wikipedia') !== false)
        return "http://upload.wikimedia.org/wikipedia/commons/5/53/Wikipedia-logo-en-big.png";
    else if(preg_match_all('/\bhttps?:\/\/\S+(?:png|jpg)\b/', $html, $matches))
    {
        return $matches;
    }
    else
    {                   
        preg_match_all("/<img src=\"(.*?)\"/", $html, $matches);
        return $url.''.$matches[1][0];
    }
}   

其中一个结果:

array (size=1)
  0 => 
    array (size=16)
      0 => string 'http://cdn.sstatic.net/stackoverflow/img/apple-touch-icon@2.png' (length=63)
      1 => string 'http://i.stack.imgur.com/tKsDb.png' (length=34)
      2 => string 'http://i.stack.imgur.com/tKsDb.png' (length=34)
      3 => string 'http://i.stack.imgur.com/tKsDb.png' (length=34)
      4 => string 'http://i.stack.imgur.com/uE37r.png' (length=34)
      5 => string 'http://i.stack.imgur.com/tKsDb.png' (length=34)
      6 => string 'http://i.stack.imgur.com/tKsDb.png' (length=34)
      7 => string 'http://i.stack.imgur.com/tKsDb.png' (length=34)
      8 => string 'http://i.stack.imgur.com/dmHl0.png' (length=34)
      9 => string 'http://i.stack.imgur.com/tKsDb.png' (length=34)
      10 => string 'http://i.stack.imgur.com/dmHl0.png' (length=34)
      11 => string 'http://i.stack.imgur.com/tKsDb.png' (length=34)
      12 => string 'http://i.stack.imgur.com/uE37r.png' (length=34)
      13 => string 'http://i.stack.imgur.com/NG6TX.png' (length=34)
      14 => string 'http://i.stack.imgur.com/BfCOt.png' (length=34)
      15 => string 'http://i.stack.imgur.com/tKsDb.png' (length=34)

1 个答案:

答案 0 :(得分:1)

你可以getimagesize()并声明2个限制,一个用于宽度,一个用于高度。这可能是一种确定图像是图标(例如64 x 64像素)还是更大的“真实”图像的方法。