php - 文本区域中的换行符

标签 php html textarea line-breaks nl2br

我知道在保存 textarea 时,您可以使用 nl2br() 或 str_replace 将/n 更改为 br 标签等。但是我不确定如何在 textarea 中插入换行符。我似乎找不到太多关于将数据放回带有这些换行符的文本区域的方法。

例如,我有一个用户可以更新字段的表单。所以用户可以输入:

foo
bar
baz

当它被保存到数据库时,它将被保存为:

foo<br />bar<br />baz<br />

现在,当该用户在页面刷新后返回该表单时,所有字段都会通过从数据库中获取数据自动填充他们以前的数据。

但是,textarea 将 br 标记显示为文本,而不是添加换行符。我还尝试将 br 标记更改为/n,希望 textarea 将这些标记解释为换行符,但没有乐趣。除此之外,我还尝试转义等。

所以我的问题是这可以做到吗?或者更重要的是,它可以使用 HTML/PHP 来完成(我使用 smarty)。如果这不可能,可以使用 javascript 来完成吗?

示例将不胜感激。

感谢阅读

最佳答案

将其保存到数据库时不要执行 nl2br。在 HTML 中显示文本时执行 nl2br。我强烈建议不要在数据库中存储任何 HTML 格式(除非您也使用富 HTML 编辑器,在这种情况下不这样做会很愚蠢)。

换行符 \n 将成为文本区域中的换行符。

关于php - 文本区域中的换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6480655/

相关文章:

PHP SQL 查询返回随机字符

php - 在同一网络服务器上运行的安全网站

javascript - 如果字体下载被阻止,则从 FontAwesome 回退

html - Internet Explorer中如何从父元素继承textarea的背景颜色?

jQuery-当文本区域换行时调用函数?

php - MySQL 显示什么成员还没有被选中

php - 在后台运行 php 脚本

Javascript 将 rel 属性分配给变量

MacOS X 上的 HTML5 格式? (最好使用 TextMate)

javascript - 如果用户点击 "enter/return"键,如何处理 textarea 多行输入