我有一个表单,用户使用TinyMCE填写一些信息,然后该表单被POST,并存储在数据库中。问题似乎是mysqli::real_escape_string
将回车换行转换为转义版本,并存储它们。嗯......这是设计的一部分。但当我重新读取数据库时,并在从DB读取数据时对数据运行stripslashes()
,我得到如下输出:
Here si some good HTML code
rn
But you can see
rn
that there are annoying
rn
"rn" on blank lines between everything.
如何在DB中存储HTML并检索它而不出现此\r\n问题?
3条答案
按热度按时间wko9yo5t1#
最初的答案并没有完全过时。
现代最好的解决方案是使用PDO。
ao218c7q2#
最简单的解决方案是首先从数据中移除CRLF
确保使用双引号,以便PHP知道查找CRLF而不是文本
\r\n
8dtrkrch3#
文件中提到
mysql_real_escape_string()调用MySQL的库函数mysql_real_escape_string,该函数在以下字符前添加反斜杠:\x00、\n、\r、\、'“和\x1a。
所以最好把这些字符串
以及
带斜线()
返回去掉反斜杠的字符串。(' becomes '等等。)双反斜杠(\)变成单反斜杠()。