假设我在字符串中有很多图像,我只想获得具有特定类的图像的src
<img src="image1.jpg"/>
<img src="image2.jpg"/>
<img src="image3.jpg" class="main"/>
我想得到第三个的src,它有一个类main
。我该怎么做?
$pattern = '/< *img[^>]*src *= *["\']?([^"\']*)/i';
preg_match($pattern,$response,$matches);
这个匹配所有img标签。
答案 0 :(得分:4)
不要使用正则表达式来解析HTML。请改用DOMDocument。
以下是一些代码:
$dom = new DOMDocument();
@$dom->loadHTML($html);
$xp = new DOMXPath($dom);
$imgs = $xp->query("//img[@class='main']");
$imgs
现在有一个具有main
类的图像的NodeList。 (我想 - 我没有多使用过DOMXPath)