我有一个多行的HTML表单,并将多行文本插入SQL VARCHAR字段。该值正确地存储在多行SQL表中,但是当我尝试以HTML格式显示时,格式不是多行。 例子:varchar在html中不显示为多行
Multi
Line
Test
变为 - Multi Line Test
我的HTML代码:
<p><?php echo htmlspecialchars($aboutme); ?></p>
我没有任何CSS格式是影响段落标记。
我有一个多行的HTML表单,并将多行文本插入SQL VARCHAR字段。该值正确地存储在多行SQL表中,但是当我尝试以HTML格式显示时,格式不是多行。 例子:varchar在html中不显示为多行
Multi
Line
Test
变为 - Multi Line Test
我的HTML代码:
<p><?php echo htmlspecialchars($aboutme); ?></p>
我没有任何CSS格式是影响段落标记。
HTML使用<br>
来表示一个新行,但您的数据可能使用\n
作为行结尾。如果您的变量
<p><?php echo htmlspecialchars(nl2br($aboutme)); ?></p>
尝试str_replace()函数
:所以,如果我是正确的,你的数据库中的数据被存储为Multi\nLine\nTest
你可以尝试nl2br新行结束转换为$ aboutme
使其
$aboutme = str_replace(" ","<br>",$aboutme);
也许nl2br($ DES)也适用
$aboutme = nl2br($aboutme);
但我更喜欢第一种方法
您的第一种方法是用
取代所有空格。为了使它工作,你应该使用str_replace(“\ n”,“
”,$ des)。但是nl2br方法完全一样:) –
“多行测试”变为“多行测试”什么区别? – atmd
http://php.net/manual/en/function.nl2br.php? – j08691
由于这是一个相对大量的文本将被intered - 约4000个字符,具有适当的段落格式是相对重要的。 – dominicansell