1

我正在使用以下内容将来自 textarea 的帖子提交到我的 mysql 数据库,以便在输出中保留单/双/三行间距。:

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

有时它可以工作,但有时双行空间会被单行空间替换,而其他时候双行空间会被保留。这是我的输出,所有这些都是使用双行空格输入的(按两次输入)。任何有关如何改进这一点的建议将不胜感激:

    something

    went

    a 
    little

    wrong
    there

谢谢普林佐恩。下面是相关表的 CREATE TABLE 语句。

如果不存在 `ticket_updates` 则创建表(
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `ticket_id` varchar(100) NOT NULL,
  `update` 文本不为空,
  `time` 时间戳 NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `member_id` varchar(100) NOT NULL,
  主键(`id`)
) 引擎=InnoDB 默认字符集=utf8 AUTO_INCREMENT=28 ;
4

2 回答 2

0

如果您使用 htmlentities() 它会将“\n”编码为“%5Cn”。因此,获得实际输出可能会产生问题。

试试下面的代码,可能会帮助你找到你需要的实际输出。

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

于 2012-10-01T07:20:40.893 回答
0

我的问题是由于使用wordwrap()尝试格式化输出而不是由于:

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

我将我的更改wordwrap($update, 50, " \n", true)为 CSS3 属性word-break:break-all;word-break:break-word;不适用于 IE9)

于 2012-10-18T06:51:39.397 回答