如何从其他站点获取图像源?

时间:2014-01-21 10:37:22

标签: php arrays web-scraping output preg-match-all

我有很多网站地址都有我想要的图片。 我想知道该网站的图像来源。

下面是我的PHP代码。但这不起作用。

  <?php
  $html = array('url1', 'url2', ...);
  $result = "";
  preg_match_all('/<img[^>]+>/i', $html, $result);
  echo $result;
  ?>

请你完成以上不完整的代码吗?

2 个答案:

答案 0 :(得分:3)

最好使用DOMDocument类,不要使用 Regex 作为解析HTML内容的解析器。

$htmlsourceofthewebsite = file_get_contents('http://www.somewebsite.com');
$dom = new DOMDocument;
$dom->loadHTML($htmlsourceofthewebsite);
foreach ($dom->getElementsByTagName('img') as $tag) {
        echo $tag->getAttribute('src');
    }
}

答案 1 :(得分:0)

您不应该使用正则表达式来解析html内容。使用DOMDocument。

试试这样:

$html=array('url1', 'url2', ........); // your url array

        foeach($html as $a){ //run a loop through your array
          getImage($a); // get images

        }

       function getImage($url){           
        $dom = new DOMDocument;
        $dom->loadHTML($url);
        foreach ($dom->getElementsByTagName('img') as $t) {
                echo $t->getAttribute('src');
             }
          }   
       }

文件:http://www.php.net/manual/en/class.domdocument.php