2014-12-19 25 views
0

我有一个多行的HTML表单,并将多行文本插入SQL VARCHAR字段。该值正确地存储在多行SQL表中,但是当我尝试以HTML格式显示时,格式不是多行。 例子:varchar在html中不显示为多行

Multi 
Line 
Test 

变为 - Multi Line Test

我的HTML代码:

<p><?php echo htmlspecialchars($aboutme); ?></p> 

我没有任何CSS格式是影响段落标记。

+0

“多行测试”变为“多行测试”什么区别? – atmd

+0

http://php.net/manual/en/function.nl2br.php? – j08691

+0

由于这是一个相对大量的文本将被intered - 约4000个字符,具有适当的段落格式是相对重要的。 – dominicansell

回答

1

HTML使用<br>来表示一个新行,但您的数据可能使用\n作为行结尾。如果您的变量

<p><?php echo htmlspecialchars(nl2br($aboutme)); ?></p> 
0

尝试str_replace()函数

:所以,如果我是正确的,你的数据库中的数据被存储为Multi\nLine\nTest

你可以尝试nl2br新行结束转换为$ aboutme

使其

$aboutme = str_replace(" ","<br>",$aboutme); 

也许nl2br($ DES)也适用

$aboutme = nl2br($aboutme); 

但我更喜欢第一种方法

+1

您的第一种方法是用
取代所有空格。为了使它工作,你应该使用str_replace(“\ n”,“
”,$ des)。但是nl2br方法完全一样:) –