按下回车键时在 Textarea 中启用换行或换行

Posted

技术标签:

【中文标题】按下回车键时在 Textarea 中启用换行或换行【英文标题】:Enable Break Line or New Line in Textarea when press enter 【发布时间】:2013-09-13 19:57:13 【问题描述】:

当我按下 Enter 键 时,如何在 Textarea 中启用 Break LineNew Line ? 这样,如果我按下 ENTER,它就会以 New Line 的形式保存在数据库中。

我已经搜索了一些主题,但对我没有帮助。

这是我的文本区域代码:

<textarea name="post" id="post"  class="valid Post_Text_Area" placeholder="Write something here..." ></textarea>

到目前为止,我尝试了这个 JS 代码。但它对我不起作用

javascript: How to add line breaks to an html textarea?

【问题讨论】:

您使用哪种技术将文本保存到数据库中? 我正在使用简单的 $_POST 和将查询插入 mysql 数据库 所以 php,如果我是正确的,当来自textarea 时,默认情况下 new line 会保存到数据库中。如果你想把它显示到html,尝试使用函数nl2br($text) @Tikkes No PHP 不会将来自 textarea 的文本保存在新行中。并且 nl2br() 函数对我不起作用 据我所知,一些正则表达式或jquery代码可以解决这个问题 【参考方案1】:

textarea 中的换行符默认保存到数据库中。

要将它们生成为 Html BR 代码,请使用 nl2br($yourTextVariable) $yourTextVariable 将是您从数据库中获取的变量。所以像这样使用它:

<?php echo nl2br($yourTextVariable); ?>

这会将newline 转换为&lt;br /&gt;

【讨论】:

【参考方案2】:

另一种解决方案是将输出放入&lt;pre&gt; 标记或仅使用css white-space: pre 对其进行样式设置。它不会吞下多个空格。

【讨论】:

&lt;pre&gt;&lt;?php echo htmlspecialchars($yourTextVariable) ?&gt;&lt;/pre&gt;。 (是的,如果您不想允许en.wikipedia.org/wiki/Cross-site_scripting,请不要忘记使用htmlspecialcharsstrip_tags)。

以上是关于按下回车键时在 Textarea 中启用换行或换行的主要内容,如果未能解决你的问题,请参考以下文章

在数据库中存储带有换行符的 TextArea 数据并以相同的格式显示带有换行符

JQuery Ajax Mysql 数据检索获得额外的回车并出现在 textarea

求JS 截取字串包括回车或换行的代码,我有一段代码,回车后就不能用了,请那位高手帮帮我

css 这会禁用textarea中的自动换行或devexpress中的aspxmemo。这只是使用css来改变文本区域

微信小程序-textarea中的文本读取以及换行问题

textarea去掉回车换行