PHP DOMXPath problem


PHP DOMXPath problem

$xpath = new DOMXpath($doc);
$res = $xpath->query(".//*[@id='post2679883']/tr[2]/td[2]/div[2]");
foreach( $res as $obj ) {
    var_dump($obj->nodeValue);
}

我需要拿走id中所有带有"post"字样的项目。

示例:

<div id="post2242424">trarata</div>
<div id="post114525">trarata</div>
<div id="post8568686">trarata</div>

第二个问题:我需要用HTML标记来获取这些元素,但$obj->nodeValue返回的文本没有HTML标记。

如果您想要的所有节点都以"post"开头,则可以使用xpath函数starts-with来过滤xpath中的节点。例如

$xpath->query(".//*[starts-with(@id, 'post')]/tr[2]/td[2]/div[2]");

对于第二部分,我认为已经得到了答案-PHP DOMDocument剥离HTML标签