【发布时间】:2011-05-03 11:09:37
【问题描述】:
我在 php 中使用 dom 通过$node->nodeValue 检索 div 的内容。这个div的内容中有很多<br/>标签,但是当我把它存入数据库并在浏览器中输出后,所有<br/>标签都变成了空白。我想保留<br/> 标签,我该如何实现?
【问题讨论】:
我在 php 中使用 dom 通过$node->nodeValue 检索 div 的内容。这个div的内容中有很多<br/>标签,但是当我把它存入数据库并在浏览器中输出后,所有<br/>标签都变成了空白。我想保留<br/> 标签,我该如何实现?
【问题讨论】:
nodeValue 仅返回文本数据(如果在元素节点上使用)。使用saveXML()检索内容
$node->ownerDocument->saveXML($node);
【讨论】:
<div>代表的包含$node
DOMNode::nodeValue 只会返回文本内容。
由于<br />是子元素,所以不会返回。
你最好的选择是
$node 中的所有子节点
DOMDocument::saveHTML()获取每个子节点的标记
【讨论】:
假设您使用的是 MySQL(因为您没有说),请确保您使用函数 mysql_real_escape_string。莫勒博士的回答可能会提供进一步的见解。
http://php.net/manual/en/function.mysql-real-escape-string.php
【讨论】: