我在php中使用dom通过$node->nodeValue
检索div的内容。这个div在其内容中有许多<br/>
标签,但在我将其存储在数据库中并在浏览器中输出后,所有<br/>
标签都更改为空白。我想保持<br/>
标签,我如何实现这一点?
nodeValue只返回文本数据(如果在元素节点上使用)。使用saveXML()
检索内容$node->ownerDocument->saveXML($node);
DOMNode::nodeValue
将只返回文本内容。
由于<br />
是子元素,它将不会返回。
你最好的选择是
- 创建一个空的临时字符串
- 遍历
$node
中的所有子节点 - 使用
DOMDocument::saveHTML()
获取每个子节点的标记 - 将此字符串与您的临时字符串连接
- 将temp字符串保存到数据库
像这样- http://www.php.net/manual/en/book.dom.php#89718
假设您正在使用MySQL(因为您没有说),请确保使用mysql_real_escape_string
函数。molle博士的回答可能会提供进一步的见解。