【问题标题】:preg_match get src of img with specific classpreg_match 获取具有特定类的 img 的 src
【发布时间】:2012-02-10 15:57:03
【问题描述】:

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

【问题讨论】:

    标签: php regex preg-match


    【解决方案1】:

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

    这里有一些代码:

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

    $imgs 现在有一个带有main 类的图像节点列表。 (我认为 - 我没有太多使用 DOMXPath)

    【讨论】:

    • 我将如何使用 DOMDocument 做到这一点?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-05
    • 1970-01-01
    • 2020-08-27
    相关资源
    最近更新 更多