【发布时间】:2012-08-29 02:16:25
【问题描述】:
当用户从文本区域保存文本时:
bfajsdb fkjasdfasjkdfasdfasdf asdf asdf sdf
asdfasdfasdfasdf asd asdf asdf
sdfasdfasdf
在 codeignter 中使用 nl2br_except_pre 函数从 textarea 将其保存在数据库中,如下所示:
bfajsdb fkjasdfasjkdfasdfasdf asdf asdf sdf
<br>
asdfasdfasdfasdf asd asdf asdf
<br>
sdfasdfasdf
在 div 或 p 标签中输出很好。或一般在 html 输出中。
但是,当再次在 textarea 中重新填充时,它会显示
标签,这很丑陋并且会使用户感到困惑。
如何在从数据库重新填充保存的值之前清理输出,使其在文本区域中看起来像这样:
bfajsdb fkjasdfasjkdfasdfasdf asdf asdf sdf
asdfasdfasdfasdf asd asdf asdf
sdfasdfasdf
不是这样的:
bfajsdb fkjasdfasjkdfasdfasdf asdf asdf sdf
<br>
asdfasdfasdfasdf asd asdf asdf
<br>
sdfasdfasdf
【问题讨论】:
-
那么不要在你的数据库中存储 HTML :)
-
我需要它,因为我在页面上的其他 html 内容中使用它。我需要一种方法来清理或更改输出,例如$row->textarea_content 删除 br 标记,但要正确创建新行。
-
然后在渲染时应用 nl2br() :)
-
喜欢:nl2br($row->textarea_content); ?我会试试的
-
什么都不做 nl2br($row->textarea_content);