在php中使用Dom来解析html文件时如何保持标签?

Dav*_*vid 5 php dom

我在php中使用dom来检索div的内容$node->nodeValue.这个div <br/>在其内容中有许多标签,但是在我将它存储在数据库中并在浏览器中输出之后,所有<br/>标签都被更改为空白.我想保留<br/>标签,我该如何实现?

Dr.*_*lle 8

nodeValue仅返回文本数据(如果在元素节点上使用).使用saveXML()检索内容

$node->ownerDocument->saveXML($node);
Run Code Online (Sandbox Code Playgroud)


Phi*_*hil 2

DOMNode::nodeValue只会返回文本内容。

由于<br />是子元素,因此不会返回。

你最好的选择是

  1. 创建一个空的临时字符串
  2. 循环遍历你的所有子节点$node
  3. 使用以下命令获取每个子节点的标记DOMDocument::saveHTML()
  4. 将此字符串与您的临时字符串连接起来
  5. 将临时字符串保存到数据库

像这样的东西 - http://www.php.net/manual/en/book.dom.php#89718