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

在PHP中使用特定ID提取IMG的SRC,php,regex,Php,Regex,我知道这个问题已经贴了很多次了,我通读了之前的所有问题。我找不到一个办法使这项工作成功 我需要提取具有特定id的img标记的src url。输入格式为- <img class"image" id="prdImage" width="277" height="400" alt="someimage" src="http://url/image.jpg"/> src属性总是最后一个,类总是第一个。此外,此代码将位于一个大型HTML文档中。我只给出了相关部分 我现在拥有的- /<

我知道这个问题已经贴了很多次了,我通读了之前的所有问题。我找不到一个办法使这项工作成功

我需要提取具有特定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
//i
除了返回整个img标记而不是仅返回src属性之外,它工作正常

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

试试这个

(?<=<img.*?src=")(.*?)(?="/>)
从您的输入字符串

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

我自己找到了答案。下面是表达式

/<img class="image" id="prdImage"(.*?)src="(.*?)"\/>/i
//i
这将返回url位于第二个位置的数组


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

找到了答案。我在regex表达式中匹配id和src属性之间的字符串。通过这种方式,我在results数组的第二个元素而不是第一个元素中获得src url。如果您已经找到了答案,只需发布您的答案并接受它。这将匹配具有任何id/类的图像标记。我只想匹配特定的id/类。尽管如此,还是投票支持尝试吧!不能使用正则表达式将字符串的几个部分作为一个部分。要做到这一点,你需要的每一部分,然后在他们的。
/<img class="image" id="prdImage"(.*?)src="(.*?)"\/>/i