我有以下(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; } }
谢谢.
解决方法
你需要的XPath表达式是// text().尝试使用
DOMXPath::query
.例如:
$xpath = new DOMXPath($doc); $textnodes = $xpath->query('//text()');
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。