在数据库中存储ckeditor值(html标记)的正确方法? (断线的麻烦)

时间:2012-02-14 01:05:05

标签: php mysql ckeditor newline

我第一次使用ckeditor,我正在使用php将ckeditor的值存储到mysql数据库中:

$content = mysql_real_escape_string($_POST['content']);

当我在插入数据库之前使用mysql_real_escape_string时,它会在来自ckeditor的html中添加\ r \ n。这是什么存储在数据库中:

<p>Here is a line</p>
\r\n
<pre class=\"code-python\">name = &quot;Bob&quot;
\r\n
last = &quot;Smith&quot;
\r\n
full = name + &quot; &quot; + last</pre>
\r\n
<p>And another line</p>
\r\n

这是我在回到浏览器时看到的内容:

  

这是一行

     

RN

     

name =“Bob”rnlast =“Smith”rnfull = name +“”+ last

     

RN

     

另一条线   RN

请注意,执行需要维护pre标记中的换行符,以便我不能简单地删除所有换行符。

这是我想看到的:

  

这是一行

     

name =“Bob”

     

last =“史密斯”

     

full = name +“”+ last

     

另一行

1 个答案:

答案 0 :(得分:4)

将此行添加到您的代码中:$content = str_ireplace('\r\n', '', $content);

所以你的代码现在应该是:

$content = mysql_real_escape_string($_POST['content']);
$content = str_ireplace('\r\n', '', $content);

我尝试了它并且有效。