preg_match用特定的类获取img的src

时间:2012-01-15 05:00:53

标签: php regex preg-match

假设我在字符串中有很多图像,我只想获得具有特定类的图像的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标签。

1 个答案:

答案 0 :(得分:4)

不要使用正则表达式来解析HTML。请改用DOMDocument

以下是一些代码:

$dom = new DOMDocument();
@$dom->loadHTML($html);
$xp = new DOMXPath($dom);
$imgs = $xp->query("//img[@class='main']");

$imgs现在有一个具有main类的图像的NodeList。 (我想 - 我没有多使用过DOMXPath)