是否可以使用<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>
来匹配具有特定类名的父级元素?
例如,我有以下HTML标记:
<a>
我可以匹配班级名称为red
的父母中的每个~(?:<div class="red">|\G)\s*<a [^>]+>~i
吗?
我尝试了此方法,但是它不起作用:
{{1}}
答案 0 :(得分:2)
结合使用DOMDocument
和DOMXPath
。 HTML在$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;
}