Php 显示数据库中的空白

Php 显示数据库中的空白,php,mysql,Php,Mysql,因此,我正在为我的页面制作评论部分,并试图使它们正常工作。 问题是,当我将注释保存到DB时,例如: My comment { ohh } $_POST['code_field'] = str_ireplace(' ' , ' ' , $_POST['code_field']); 当像echo$comment那样显示它时,我得到: My comment { ohh } 所以我用以下方法解决了这个问题: nl2br(preg_replace('/(\r)|(

因此,我正在为我的页面制作评论部分,并试图使它们正常工作。 问题是,当我将注释保存到DB时,例如:

My comment
  {
     ohh
  }
$_POST['code_field'] = str_ireplace(' ' , ' ' , $_POST['code_field']);
当像
echo$comment
那样显示它时,我得到:

My comment { ohh }
所以我用以下方法解决了这个问题:

nl2br(preg_replace('/(\r)|(\n)/', '<br>', $comment->text));
但是我需要显示第一个变量。当我死的时候,它给了我:

string(36) "My comment
{
ohh
}"
在db中,它存储带有所有缩进的注释

所以问题是:如何正确显示带有空格的注释。还有一个额外的问题,我如何将这些注释存储到数据库中只允许4个连续的空白??,在开始或中间并不重要。

< P>一个解决方案(可能不理想)是将文本包在<代码> <代码>中,例如:

<pre><?php echo $comment; ?></pre>

一种解决方案(可能不理想)是将文本包装在
中,例如:

<pre><?php echo $comment; ?></pre>

您可以在插入数据库之前将空格转换为

str_replace(' ', '&nbsp;', preg_replace('/(\r)|(\n)/', '<br>', $comment->text))
如果允许编辑注释,则将
转换回常规空格


在插入数据库之前,可以将空格转换为

str_replace(' ', '&nbsp;', preg_replace('/(\r)|(\n)/', '<br>', $comment->text))
如果允许编辑注释,则将
转换回常规空格

另一个解决方案(也可能不理想)是用HTML非中断空间替换空格。您可以将其包装在“换行到

”函数中:

str_replace(“”,”,preg_replace(“/(\r)|(\n)/”,“
”,$comment->text))
另一个解决方案(也可能不理想)是用HTML非中断空格替换空格。您可以将其包装在“换行到

”函数中:

str_replace(“”,”,preg_replace(“/(\r)|(\n)/”,“
”,$comment->text))