5

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

4

5 回答 5

23

你想利用空白 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 操作显示那样为您提供更多控制。

于 2013-06-04T05:58:36.970 回答
9

您可以使用echo nl2br( $string)转换\n<br>HTML 换行符。

于 2013-06-04T06:02:19.293 回答
2

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

于 2013-06-04T05:57:44.947 回答
2

使用 nl2br() 方法来获取您的 . nl2br($文本); 有关更多查询,请查看此 http://www.php.net/manual/en/function.nl2br.php

于 2013-06-04T05:59:36.710 回答
0

<pre>标签为例。但它看起来会很丑陋。

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

于 2013-06-04T05:53:51.220 回答