2012-09-23 92 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');