我有一个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>";
}
?>
答案 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);