【问题标题】:Textareas not showing more then one new line in a row文本区域连续显示多于一个新行
【发布时间】:2012-11-30 04:55:00
【问题描述】:

我有一个将 blob 文本插入数据库的表单。

当我使用 textarea 将其插入数据库时​​,它工作正常。

例如,如果我将此文本放入 textarea 字段:

test


ss
f



f
f




dsdfdsf


sdfsdfsdf

它将它保存到数据库中:

test


ss
f



f
f




dsdfdsf


sdfsdfsdf

那很好,现在当我从数据库中获取数据并将其回显到 div 上时,我使用 nl2br(),div 的内容变为:

test


ss
f



f
f




dsdfdsf


sdfsdfsdf

所以还是可以的

但是

如果我将数据库中的输出回显到文本区域中,它将变为:

test
ss
f
f
f
dsdfdsf
sdfsdfsdf

那不是使用 nl2br,如果我使用 nl2br,则 textarea 变为:

test<br /><br /><br />ss<br />f<br /><br /><br /><br />f<br />f<br /><br /><br /><br /><br />dsdfdsf<br /><br /><br />sdfsdfsdf

我想要新行,而不是 (br /),你可以看到它知道应该有多少行,但是当我不使用 nl2br 时,它最多只能连续一行新行。

我试过用谷歌搜索,我只能找到人们询问如何将数据库内容回显到 div,但对我来说,它适用于 div(使用 nl2br),它只适用于 textarea...

我也尝试为 textarea 赋予 css 属性:'white-space: pre;',但这也不起作用。

【问题讨论】:

  • 在将输入字段插入到db时你会做什么?

标签: php html mysql


【解决方案1】:

如果要将数据输出到文本区域,则不能使用 nl2br。只需输出数据(使用 htmlspecialchars)。

textarea 会看到 \n(换行符),因为 div 会看到 &lt;br /&gt;

http://jsbin.com/uzinut/1

【讨论】:

  • 是的,这是我最初的想法,但它使文本区域,就像倒数第二个代码块一样,它们之间没有所有新行。它仍然有新的线路,只是不是全部......
  • 哦,我是个傻瓜,我发现了问题,因为我只是在缩小 html... 它删除了所有新行。你的帖子让我意识到,所以我给你打勾。
猜你喜欢
  • 1970-01-01
  • 2016-11-16
  • 2010-11-01
  • 2013-03-31
  • 2016-08-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多