我正在尝试使用 dom 文档提取特定的 HTML 块。
我的代码如下:
$domd = new DOMDocument('1.0', 'utf-8');
$domd->loadHTML($string);
$this->hook = 'content';
if($this->hook !== '') {
$main = $domd->getElementById($this->hook);
$newstr = "";
foreach($main->childNodes as $node) {
$newstr .= $domd->saveXML($node, LIBXML_NOEMPTYTAG);
}
$domd->loadHTML($newstr);
}
//MORE PARSING USING THE DOMD OBJECT
它工作得很好,但是 foreach 很慢,我想知道是否有更智能的方法来做到这一点。我正在将 HTML 重新加载到 $domd 中,以便继续编辑。在我的脑海里,我觉得我应该保存一个片段,而不是将保存的 $newstr 重新加载到对象中。
这可以变得更优雅或更快吗?
谢谢!