使用preg_match_all是否可以匹配具有特定类名的父级中的元素?
例如,我有这个HTML标记:
<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进行匹配
我试过了,但不起作用:
~(?:<div class="red">|\G)\s*<a [^>]+>~i发布于 2019-02-23 04:11:56
将DOMDocument与DOMXPath结合使用。这里的超文本标记语言在$html变量中:
$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;
}https://stackoverflow.com/questions/54834253
复制相似问题