所以我正在为我的页面制作评论部分,我正在努力使它们正常工作。 问题是当我将注释保存到DB时,例如:
My comment
{
ohh
}
当像echo $comment
一样显示时,我得到:
My comment { ohh }
所以我用以下方法解决了这个问题:
nl2br(preg_replace('/(\r)|(\n)/', '<br>', $comment->text));
现在我明白了:
My comment
{
ohh
}
但我需要显示第一个变体。当我讨价还价时,它给了我:
string(36) "My comment
{
ohh
}"
在db中,它存储了所有缩进的注释。
所以问题:我如何用空格正确显示评论。还有一个额外的问题,我如何将这些注释存储到DB中,只允许4个后续空格,在开头或中间都没关系。
答案 0 :(得分:3)
一种解决方案(可能不理想)是将文本包装在<pre></pre>
中,例如:
<pre><?php echo $comment; ?></pre>
答案 1 :(得分:2)
另一种解决方案(也可能不理想)是用HTML不间断空格替换空格。您可以将其包裹在“<br>
”新功能中:
str_replace(' ', ' ', preg_replace('/(\r)|(\n)/', '<br>', $comment->text))
答案 2 :(得分:1)
在插入数据库之前,您可以将空格转换为
。
$_POST['code_field'] = str_ireplace(' ' , ' ' , $_POST['code_field']);
如果您允许编辑评论,请将
转换回常规空间。
$row['code_field'] = str_ireplace(' ' , ' ' , $row['code_field']);