【问题标题】:Regular expression - image is displayed with text正则表达式 - 图像与文本一起显示
【发布时间】:2014-09-01 23:40:34
【问题描述】:

我是一名 PHP 程序员新手,突然有人要求我编辑并准备好一个 scraper (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];
        

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

Array ( [0] => Array ( [0] =>这里显示图像 Array ( [0] => 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 和正则表达式的新手,谁能告诉我如何只显示图像而不是文本。不知道我说的够不够清楚,请多多包涵。

谢谢。

【问题讨论】:

  • 使用PHPs DOM解析HTML。
  • 嗯,我不能我的意思是我不知道如何加上我必须编辑一个预先存在的用 PHP PRCE 编写的刮板文件......所以我不允许这样做,无论如何谢谢-你的帮助。
  • 删除此行:print_r($prod_image1); 已被某人添加以进行调试
  • 已删除但图片不见了,只有这个可用:pacificaperfume.com/sites/default/files/styles/…
  • echo $prod_image1[0][0]; 可能

标签: php arrays regex web-scraping


【解决方案1】:

最后这工作正常:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-18
    • 2016-12-29
    • 2011-06-19
    • 2012-06-23
    • 1970-01-01
    相关资源
    最近更新 更多