textarea文本保存到数据库,前端输出保存换行回车解决方案

处理这种文本输出格式的,使用富文本编辑器是比较方便的,但我这里写的不是使用富文本编辑器的处理方法!     

那么,从数据库取出text文本到前端展示格式一致的解决方案主要有两种(仅Web端,其他平台没有调试过):

一:提交数据之前,将textarea的回车、空格先转换格式,再提交数据存入数据库,那样取出数据输出到web端也能保证格式一致。

//关键js代码
var text = $("textarea").text(); 
var des = text.replace(/\r\n/g, '<br/>').replace(/\n/g, '<br/>').replace(/\s/g, ' '); //转换格式
//将des文本内容存入数据库
//取出渲染视图即可 

二:当数据库存储的是原生的textarea文本,这时候,输出到前端前需要解析文本。

前提:textarea文本上传到后台时已经包含了换行回车符,如果你发现textarea上传时没有保存换行回车,可以尝试设置textarea标签属性wrap="hard"(html5支持)


        $(function() {
		init();
	});

	function init() {
		var text = $("div.text").text(); //先取出未转换格式前端数据
		var des = text.replace(/\r\n/g, '<br/>').replace(/\n/g, '<br/>').replace(/\s/g, ' ');  //转换格式
		$("div.text").empty(); 
		$("div.text").append(des);
	}

ps:建议使用$("div.text").empty(); $("div.text").append(des); 替换为转换格式后的前端文本,

       不要直接使用$("div.text").text(des); 替换文本;因为text方法会指定内容为text,那么<br/>标签会被直接输出而不会浏览器解析为换行!

猜你喜欢

转载自blog.csdn.net/a5552157/article/details/80459761