HTML中TextArea处理换行(jquery)

本文介绍了一种在jQuery中处理TextArea中文本的方法,特别是如何保留文本中的回车符并避免JS注入,通过使用<pre>标签和转义特殊字符。

默认情况下jquery在处理textArea中文本时是会忽略掉回车符的,为了保留回车符选择使用<pre></pre>标签嵌套textArea中的内容,同时替换掉‘<’和'>'避免js注入。

function clickFn()
{
var value = $('#textArea').val();                                   //获取textArea中的文字
value = value.replace(/</g, '&lt;').replace(/>/g, '&gt;');//替换'<','>'
var html = '<pre>' + value + '</pre>';                        //创建pre元素
$(html).appendTo($('#result'));                                  //添加的目标位置
};

转载于:https://my.oschina.net/pangyangyang/blog/90385

### 实现 HTML Textarea 中的换行显示方法 在 Web 开发中,`<textarea>` 是用于多行文本输入的重要元素。然而,在 `<textarea>` 输入的内容通常包含换行符(`\n` 或 `\r\n`),这些字符在其他上下文中可能无法正常显示为换行。以下是几种常见的解决方案来实现 `textarea` 的换行显示。 #### 1. 使用 JavaScript 替换换行符 通过 JavaScript 可以将 `textarea` 中的换行符替换为适合网页展示的 `<br/>` 标签。这种方法适用于动态更新页面内容的情况: ```javascript var text = document.getElementById('myTextarea').value; text = text.replace(/\n/g, '<br>'); // 将所有换行符替换为<br> document.getElementById('result').innerHTML = text; // 更新到目标区域 ``` 上述代码片段展示了如何获取 `textarea` 值并将其换行符替换成 `<br>`[^5]。 #### 2. jQuery 处理换行符 如果使用的是 jQuery 库,则可以更简洁地完成相同功能: ```javascript $('#myForm').on('submit', function(e) { e.preventDefault(); // 阻止表单默认提交行为 var text = $('#myTextarea').val(); text = text.replace(/\n/g, '<br>'); $('#result').html(text); }); ``` 这段代码监听了表单的提交事件,并阻止其默认动作,随后提取 `textarea` 的值并将其中的换行符替换为 `<br>`[^1]。 #### 3. PHP 后端处理换行符 对于服务器端脚本语言如 PHP,可以通过函数 `nl2br()` 自动将字符串中的换行符转换为 `<br>` 标签后再存储至数据库或返回给前端渲染: ```php $text = $_POST['myTextarea']; echo nl2br($text); // 输出带有<br>标签的结果 ``` 这种方式特别适合于需要持久化数据的应用场景[^2]。 #### 4. 数据库层面考虑 当从 MySQL 数据库存储和检索含有换行的数据时,需注意原始数据中的换行符可能会因编码差异而丢失或者变形。建议在写入前先做适当转义再调用相应工具恢复格式[^3]。 #### 注意事项 - 不同操作系统下产生的换行序列可能存在区别 (Windows: CRLF (\r\n), Unix/Linux/MacOSX: LF (\n))。 - 如果仅希望预览而不实际改变源码结构的话,CSS 属性 white-space 和 word-wrap 能够提供一定帮助但不会真正影响 DOM 结构。 ```css #result { white-space: pre-line; /* 维持换行 */ } ``` 以上就是关于如何让 HTML 文本框支持换行以及正确显示的一些常用技巧总结。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值