我有一個多行的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