2

我已经在一些 html 中加载了这个 PHP 代码。

$dom = new DOMDocument();
$dom->loadHTML($somehtml);

$xpath = new DOMXPath($dom);
$divContent = $xpath->query('//table[class="defURLP"]');

echo $divContent;

我太困惑了,无法理解这里需要做什么,但是我希望它能够填充变量 $divContent 以使用类名 defURLP 获得表的 html 内容

它目前只是返回

object(DOMNodeList)#3 (0) { }
4

1 回答 1

1

您需要从 xpath 查询返回的 DOMNodeList 中检索第一项,因为列表中可能有多个。

// Queries for tables having class defURLP
$tables = $xpath->query('//table[class="defURLP"]');
// Reference the first one in $divContent
$divContent = $tables->item(0);
// Output its nodeValue
echo $divContent->nodeValue;

或者使用 a 遍历节点列表foreach

$tables = $xpath->query('//table[class="defURLP"]');
// Iterate over the whole node list in $tables (if it is multiple nodes)
foreach ($tables as $t) {
  echo $t->nodeValue;
}
于 2012-07-31T16:36:07.827 回答