保留文本区域的换行符


Keep Line Breaks from Textarea

我通过PHP在WordPress站点(特别是地址)的表单中从用户获得输入,我希望能够在不同的页面上显示我使用相同的换行符(分离出地址的不同组件)收集的信息。如果我将其放入textarea中,它会正确显示,但如果我获取数据并将其回显到div中,它不会维护换行符。我能做什么?

你想利用空白CSS属性http://www.w3schools.com/cssref/pr_text_white-space.asp

所以你会有像

这样的东西
<p class="whitespace"><?= $input_from_textarea ?></p>
与css:

.whitespace { 
    white-space: pre-wrap; 
}

不要手动清理输入,用换行标记替换新的行元素。它使你的数据的可重用性降低,并且需要做更多的工作。

您可以使用php函数nl2br(),但它不能像通过css操作显示那样给您更多的控制。

可以使用echo nl2br( $string)'n转换为<br> HTML换行符

HTML将包括新行在内的任意数量的空白(非换行空格除外)折叠为一个空格。为了保持新行,您需要用<br>或使用<pre>标签替换新行,或者使用设计用于控制此行为的空白CSS规则之一。

使用nl2br()方法。nl2br(文本);更多查询请查看此http://www.php.net/manual/en/function.nl2br.php

<pre>标签为例。但是它看起来会很难看。

或将换行符替换为<br/>