如何使用php-domdocument回显包括html标记在内的节点内容


how to echo content of nodes inclusing html tags using php domdocument

我有一个html节点的Domnodelist,我想回显它,包括它们的html标记,这样我就可以应用正则表达式了。当我这样做时:

            foreach ($nodeList as $key => $node) {
               echo $node->nodeValue;
            }

我只得到节点的文本部分,没有html标记。

当我尝试时:

echo$node->saveHTML;

我得到错误:未定义的属性:DOMElement::$saveHTML

我该怎么做?

提前感谢

票据

saveHTML是一个函数,因此需要调用它(缺少parens)。它也是DOMDocument的一部分;节点将作为参数传入。

所以正确的形式是:

echo $document->saveHTML($node);

重要提示:saveHTML仅支持PHP 5.3.6以后的参数。

然而,人们专门使用DOMDocument,这样他们就可以在不使用正则表达式的情况下处理它。你似乎在试图做相反的事情。如果是这样的话,请重新考虑您的方法——正则表达式是一种处理HTML的方法,一旦您决定做任何不完全琐碎的事情,就会带来麻烦。