在微信公众号开发自定义推送关注通知内容时,遇到的问题进行总结。
首先我们看下数据库对换行符的操作
数据库会过滤掉换行符号\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,当获取数据时也就实现了换行。