我有一个html节点的Domnodelist,我想回复一下,包括他们的html标签,以便我可以应用正则表达式。当我这样做时:
foreach ($nodeList as $key => $node) {
echo $node->nodeValue;
}
我只得到节点的文本部分,没有html标签。
当我尝试:
echo $ node-> saveHTML;
我收到错误:未定义的属性:DOMElement :: $ saveHTML
我该怎么做?
提前致谢,
比尔
答案 0 :(得分:6)
saveHTML
是一个函数,所以你需要调用它(你错过了parens)。它也是DOMDocument
的一部分;节点将作为参数传入。
所以正确的形式是:
echo $document->saveHTML($node);
重要提示:saveHTML
仅支持PHP 5.3.6及更高版本的参数。
但是,人们专门使用DOMDocument
,以便他们可以在没有诉诸正则表达式的情况下处理。看来你在这里正试图做相反的事情。如果是这样,重新考虑你的方法 - 正则表达式是一种处理HTML的黑客方式,这会给你带来麻烦,第二次你决定做任何并非完全无关紧要的事情。