按下回车键时在 Textarea 中启用换行或换行
Posted
技术标签:
【中文标题】按下回车键时在 Textarea 中启用换行或换行【英文标题】:Enable Break Line or New Line in Textarea when press enter 【发布时间】:2013-09-13 19:57:13 【问题描述】:当我按下 Enter 键 时,如何在 Textarea 中启用 Break Line 或 New 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
转换为<br />
【讨论】:
【参考方案2】:另一种解决方案是将输出放入<pre>
标记或仅使用css white-space: pre
对其进行样式设置。它不会吞下多个空格。
【讨论】:
<pre><?php echo htmlspecialchars($yourTextVariable) ?></pre>
。 (是的,如果您不想允许en.wikipedia.org/wiki/Cross-site_scripting,请不要忘记使用htmlspecialchars
或strip_tags
)。以上是关于按下回车键时在 Textarea 中启用换行或换行的主要内容,如果未能解决你的问题,请参考以下文章
在数据库中存储带有换行符的 TextArea 数据并以相同的格式显示带有换行符
JQuery Ajax Mysql 数据检索获得额外的回车并出现在 textarea
求JS 截取字串包括回车或换行的代码,我有一段代码,回车后就不能用了,请那位高手帮帮我