正则表达式 - 图像以文本显示

时间:2014-07-11 11:01:49

标签: php arrays regex web-scraping

我是一名新手PHP程序员,我突然被告知要编辑并准备好一个scrapper(php)文件,我遇到了问题。

preg_match_all('/<div class="cloud-zoom-gallery-thumbs">(.*?)<\/div>/s',$html,$resultimg);

        $prod_image = trim($resultimg[0][0]);
        preg_match_all('/<img src="(.*?)"/s',$prod_image,$prod_image1); 

        echo "<b>Product Image:&nbsp;</b>";
        print_r($prod_image1);

        $prod_thum_image = $prod_image1[1][0];
        echo $prod_image1[1][0];

问题是代码显示图像但输出显示的数组索引文本如下:

  

数组([0] =&gt;数组([0] =&gt;这里显示图像数组([0]   =&GT; http://www.pacificaperfume.com/sites/default/files/styles/product_thumbnail/public/charmed-shadow-palette-new_0.jpg?itok=qZZIeTzG   ))   http://www.pacificaperfume.com/sites/default/files/styles/product_thumbnail/public/charmed-shadow-palette-new_0.jpg?itok=qZZIeTzG

现在我对php&amp;正则表达式,有人可以告诉我如何只显示图像而不是文本。我不知道自己是否足够清楚所以请耐心等待。

感谢-你。

1 个答案:

答案 0 :(得分:0)

最后这很好用:

preg_match_all('/<div class="cloud-zoom-gallery-thumbs">(.*?)<\/div>/s',$html,$resultimg); $prod_image = trim($resultimg[0][0]); 
preg_match_all('/<img src="(.*?)"/s',$prod_image,$prod_image1);
echo "<b>Product Image:&nbsp;</b>"; 
print_r($prod_image1[0][0]); 
$prod_thum_image = $prod_image1[1][0]; 

我想我只需要改变这个:

print_r($prod_image1);

有了这个:

print_r($prod_image1[0][0]); 

其他一切都保持原样。谢谢 - 大家帮助我。