提取特定 li 元素的 DOMXPath 查询

DOMXPath Query To Extract Specific li Element

我正在尝试根据 child 的内容提取列表元素。 li 有一个锚标签,标题为 'something something'(包括 space)。

示例:

<li><a href="#" title="something something"></a></li>

查询是什么样的?谢谢!

要检索元素及其属性,请使用此 XPath 查询:

/html/body/li/a[@title='something something']

这将得到任何 a 标签 title 属性值为 something somethingli 标签的子标签(在 htmlbody 标签,它是 better/faster 如果你事先知道完整的结构)。

<?php
$html = '<li><a href="#" title="something something">test</a></li>';
$html .= '<li><a href="#" title="something something2">test2</a></li>';
$doc = new DOMDocument();
$doc->loadHTML($html);
$xpath = new DOMXPath($doc);
$lis = $xpath->query("/html/body/li/a[@title='something something']");
foreach ($lis as $li) {
    var_dump($li->nodeValue);
}

结果

/Applications/MAMP/htdocs/trello/up.php:9:string 'test' (length=4)

Demo