PHP代码从网址获取所有图像

时间:2014-03-07 13:43:53

标签: php

我有一个PHP代码来获取网址中的所有图片。它将显示图像的URL。但是获得的图像的网址存在一些问题。

1:如果图像托管在根目录中,则不会显示域。例如,如果给定的网址是www.google.com,则获得的图片的网址为

“/标识/涂鸦/ 2014 /妇女天2014-6253511574552576.3-hp.png”

我需要的是

“www.google.com/logos/doodles/2014/womens-day-2014-6253511574552576.3-hp.png”

2:获得的网址始终在“”之间。我怎么能把它删除?

这里是PHP代码

<?php
$url_image = $_GET['url'];
$homepage = file_get_contents($url_image);
preg_match_all("{<img\\s*(.*?)src=('.*?'|\".*?\"|[^\\s]+)(.*?)\\s*/?>}ims", $homepage, $matches, PREG_SET_ORDER);
foreach ($matches as $val) {
echo $val[2];
echo "<br>";
}
?>

2 个答案:

答案 0 :(得分:1)

试试这个:

$url_image = $_GET['url'];
$homepage = file_get_contents($url_image);
preg_match_all("{<img\\s*(.*?)src=('.*?'|\".*?\"|[^\\s]+)(.*?)\\s*/?>}ims", $homepage, $matches, PREG_SET_ORDER);
foreach ($matches as $val) {

    $pos = strpos($val[2],"/"); 
    $link = substr($val[2],1,-1);
    if($pos == 1)
        echo "http://domain.com" . $link;
    else
        echo $link;
    echo "<br>";
}

答案 1 :(得分:0)

您可以使用""

删除substr($url,1,-1);