textarea多行文本框换行保存和展示数据

在微信公众号开发自定义推送关注通知内容时,遇到的问题进行总结。

首先我们看下数据库对换行符的操作

数据库会过滤掉换行符号\n
UPDATE weixin_concern_notice SET notice_content ='哈哈哈,\n嘿嘿嘿!' where id='0afee4f0d29c4a2bb1a7ff52e64da53b';
结果:哈哈哈,嘿嘿嘿!
某些需求时我们需要取得内容是换行的,这时我们可以使用\n,数据库会将它保存为\n
UPDATE weixin_concern_notice SET notice_content ='哈哈哈,\\n嘿嘿嘿!' where id='0afee4f0d29c4a2bb1a7ff52e64da53b';
结果:哈哈哈,\n嘿嘿嘿!
方式一、我们也可以使用替换的方式解决问题。
将换行符替换为< br>
var content = $(this).val().replace(/\n|\r\n/g, "<br>");
数据库中:哈哈哈,< br>嘿嘿嘿!
取出数据展示时将< br>替换为\n
var reg = new RegExp("<br>", "g");
$("#notice").val(data.content.data.noticeContent.replace(reg, "\n"));
页面展示内容进行了换行。
同样数据获取到内容进行替换
String responseStr =getConcernNotice().replaceAll("<br>","\n");
实现数据内容换行
方式二、保存时将换行符替换为 ‘\\n’
 var content = $(this).val().replace(/\n|\r\n/g, "\\n");
这样保存到数据库就是\n,当获取数据时也就实现了换行。

猜你喜欢

转载自blog.csdn.net/banjw_129/article/details/82116870