2014-12-19 26 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方法完全一樣:) –