首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有类名的父类的PHP preg_match_all

带有类名的父类的PHP preg_match_all
EN

Stack Overflow用户
提问于 2019-02-23 03:55:45
回答 1查看 121关注 0票数 0

使用preg_match_all是否可以匹配具有特定类名的父级中的元素?

例如,我有这个HTML标记:

代码语言:javascript
复制
<div class="red lorem-ipsum>
  <a href="#">Some link</a>
</div>

<div class="red>
  <a href="#">Some link</a>
</div>

<div class="something red lorem-ipsum>
  <a href="#">Some link</a>
</div>

是否可以将父级中的每个<a>与类名red进行匹配

我试过了,但不起作用:

代码语言:javascript
复制
~(?:<div class="red">|\G)\s*<a [^>]+>~i
EN

回答 1

Stack Overflow用户

发布于 2019-02-23 04:11:56

DOMDocumentDOMXPath结合使用。这里的超文本标记语言在$html变量中:

代码语言:javascript
复制
$doc = new DOMDocument();
$doc->loadHTML($html);
$xpath = new DOMXPath($doc);
$matches = $xpath->query("//div[contains(concat(' ', @class, ' '), ' red ')]/a");
foreach($matches as $a) {
    echo $a->textContent;
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54834253

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档