$html = 'foo blah <a href="">foo bar</a> blah <a href="">foo</a> blah foo';
$dom = new DOMDocument();
$dom->loadHtml($html);
$xpath = new DOMXPath($dom);
$nodes = $xpath->query('//text()');
echo get_class($nodes);
foreach($nodes as $node) {
echo '<br />';
echo get_class($node) . ':'; //look here
echo $node->wholeText;
}
为什么类为每个$节点键入DOMText?
答案 0 :(得分:1)
您的查询要求//text()
的文本节点。 :)
DOMText是一个专门的DOMNode,它几乎是每个DOM相关对象的基础对象(除了DOMXPath,我相信,这是有意义的)
DOMText的对象层次结构实际上是遵循的;
DomNode
- DOMCharacterData
- DomText
您可以通过查看the docs
了解有关详情