我有以下(PHP)代码,它遍历整个 DOM 文档以获取所有文本节点。这是一个有点丑陋的解决方案,我确信一定有更好的方法......那么,有吗?
$skip = false;
$node = $document;
$nodes = array();
while ($node) {
if ($node->nodeType == 3) {
$nodes[] = $node;
}
if (!$skip && $node->firstChild) {
$node = $node->firstChild;
} elseif ($node->nextSibling) {
$node = $node->nextSibling;
$skip = false;
} else {
$node = $node->parentNode;
$skip = true;
}
}
Thanks.
您需要的 XPath 表达式是//text()
。尝试使用它DOMXPath::query。例如:
$xpath = new DOMXPath($doc);
$textnodes = $xpath->query('//text()');
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)