2012-09-23 151 views
1

我使用下面從文本區域,以保持對輸出:nl2br()不工作很正確

$update = nl2br(htmlentities($string, ENT_QUOTES, 'UTF-8')); 

有時單/雙/三線間距提交後到我的MySQL數據庫它可以工作,但有時候雙線被單線空間取代,其他時候雙線空間被保留。這是我的輸出,所有這些都是使用雙行空格輸入的(輸入兩次)。有關如何改善這一點的任何建議,將不勝感激:

something 

    went 

    a 
    little 

    wrong 
    there 

感謝Prinzhorn。下面是相關表格的CREATE TABLE語句。

 
CREATE TABLE IF NOT EXISTS `ticket_updates` (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `ticket_id` varchar(100) NOT NULL, 
    `update` text NOT NULL, 
    `time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, 
    `member_id` varchar(100) NOT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=28 ; 
+1

顯示CREATE TABLE語句,特別是列 – Prinzhorn

+0

感謝Prinzhorn - 更新了 – n00bstacker

+0

也許你可以張貼HTML代碼 – rsz

回答

0

我的問題是使用wordwrap()試圖格式化輸出,而不是由於引起:

nl2br(htmlentities($string, ENT_QUOTES, 'UTF-8')); 

我改變了我的wordwrap($update, 50, " \n", true)到CSS3 propertey word-break:break-all;word-break:break-word;不會與IE9工作)

0

如果使用htmlentities(),它將「\ n」編碼爲「%5Cn」。所以,它可能會產生問題來獲得實際的輸出。

嘗試下面的代碼,可能會幫助您找到您需要的實際輸出。

echo htmlentities($string, ENT_QUOTES, 'UTF-8');