使用PHP中的特定ID提取IMG的SRC

时间:2012-11-29 05:18:58

标签: php regex

我知道这个问题已经发布了很多次,我读完了之前的所有问题。我找不到办法让这项工作。

我需要提取具有特定id的img标记的src url。输入格式为 -

<img class"image" id="prdImage" width="277" height="400" alt="someimage" src="http://url/image.jpg"/>

src属性始终是最后一个,类始终是第一个。此外,此代码将位于大型HTML文档中。我只给了相关部分。

我到现在为止 -

/<img class="image" id="prdImage".+?src="(.+?)".+?\/>/i

这是正常工作,除了它返回整个img标记而不是仅返回src属性;

注意:我知道在这种情况下我应该使用DOM解析器。但对于这个项目,我只能使用正则表达式。

2 个答案:

答案 0 :(得分:1)

试试这个

(?<=<img.*?src=")(.*?)(?="/>)

正则表达式将返回

http://url/image.jpg

来自输入字符串

<img class"image" id="prdImage" width="277" height="400" alt="someimage" src="http://url/image.jpg"/>

答案 1 :(得分:0)

我自己想出了答案。这是表达式

/<img class="image" id="prdImage"(.*?)src="(.*?)"\/>/i

这将返回一个数组,其中url位于第二个位置。

我接受了这个答案,因为我自己弄清楚了。如果其他人有更好的解决方案,我会接受他们的回答。