Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 获取页面上最相关的图像_Php_Image - Fatal编程技术网

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

Php 获取页面上最相关的图像,php,image,Php,Image,我正在收集网页上的所有图像。但是,因为可能有一些带有.png的图标,它们也被视为图像 我是否可以只显示真实的图像,而不在页面上显示图标或图标 这是我的简单脚本 function get_logo($html,$url) { $url = rtrim($url, '/'); if (strpos($url,'wikipedia') !== false) return "http://upload.wikimedia.org/wikipedia/commons/5/

我正在收集网页上的所有图像。但是,因为可能有一些带有
.png
的图标,它们也被视为图像

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

这是我的简单脚本

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];
    }
}   

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

您对“真实”图像与图标的定义是什么?图像位置也很重要,如果它位于顶部(可能是徽标),如果位于底部,则不需要一些随机图像。同时尝试忽略页眉、页脚、侧边栏和广告元素。然后找到包含大量文本的主块,尝试拍摄第一张图像-这是您想要的图像。@PatrickQ:real image是作为内容的一部分出现在页面上的一般图像。图标属于favicon、视频图标(如)、分级图像等。我也给出了此类图像的示例列表,但您尚未提供要包含或排除的内容的真实定义。说“我想排除图标”不是一个定义。什么样的规格使某些东西成为你眼中的图标?该定义是否适用于您将要提取的所有URL?在您提出一些具体的规则来定义要包含/排除的内容之前,用于包含/排除的技术/功能/代码是不相关的。对该问题的公认答案没有使用
getimagesize()
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)