显示与数据库中保存的文本相同的文本

时间:2014-04-25 11:22:54

标签: php kohana

str = "I am  So        Coool       Because I    can do stuff            Like THIS!";

我使用php函数nl2br()在文本区域中将文本显示为相同。

echo nl2br(str)

它正在替换上例中So and Coool,I and can,stuff and Like之间的空格。

我得到的输出是I am So Coool Because I can do stuff Like THIS!

期待是I am So Coool Because I can do stuff Like THIS!

如何显示段落文本和空格。

3 个答案:

答案 0 :(得分:4)

这是由浏览器包装引起的。

要在HTML中显示多个空格,您几乎没有选择:

A - 将您的代码包裹在<pre>元素

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

B - 将white-space: pre添加到父元素(W3Schools

.text-wrapper {
   white-space: pre;
}

C - 用&nbsp;替换空格,(这在非破坏的空格中 - 你的文本不会从空格中换行)

<?php echo str_replace(' ', '&nbsp;', $text); ?>

答案 1 :(得分:2)

似乎浏览器是这里的问题,因为所有空格都在html代码中。

使用<pre></pre>标记

进行试用

答案 2 :(得分:2)

空间在HTML中被压缩,因为HTML的格式化方式和呈现方式之间存在区别。 您可以使用pre标签按原样显示文本。 例如尝试使用

echo '<pre>'.$str.'</pre>';