富文本内容如何存储和页面回显

富文本用于很多场景,内容包括文本、粗体文字、变色文本、图片等。如下图所示:
在这里插入图片描述
这些富文本内容是如何存储到后端,又是如何从后端获取原样展示到页面上的呢?
具体交互流程如下:

  • 前端通过富文本编辑器生成富文本内容
  • 将富文本内容发送到后端进行存储
  • 前端获取富文本内容,进行页面展示

富文本内容: 这里的富文本内容其实就是含有标签的字符串,比如图中的这些富文本内容就是类似以下字符串:

普通文字、<b>粗体文字</b><s>删除线文字</s><span style="color: red;">变色文字1</span><img style="width: 100px;height: 100px;" src="https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=1022109268,3759531978&fm=26&gp=0.jpg"  />

存储的时候将这些带有html标签的字符串整体存储,前端获取的时候同样返回

前端如何展示: (直接上代码)

<!DOCTYPE html>
<html>
   <head>
   	<meta charset="utf-8">
   	<title></title>
   </head>
   <body>
   	<div id="t"></div>
   	
   </body>
   
   <script>
   	// js 页面加载完成时自动执行该js
   	window.onload = function(){
   		var s = '普通文字、<b>粗体文字</b> 、<s>删除线文字</s> 、<span style="color: red;">变色文字1</span><img style="width: 100px;height: 100px;" src="https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=1022109268,3759531978&fm=26&gp=0.jpg"  />';
   		var t = document.getElementById('t');
   		// 重点:将字符串解析成html进行展示
   		t.innerHTML = s;
   		// 当做普通字符串
   		// t.textContent = s;
   	}
   </script>
</html>

页面效果如下:

  • t.innerHTML = s;执行效果

在这里插入图片描述

  • t.textContent = s;执行效果
    在这里插入图片描述

从上图效果我们可以看到,innerHTML将普通字符串当做html运行,这样就将富文本内容正确的展示出来了。

其他: 对于不同的前端框架,有不同的api对应该操作:

	// jQuery
	$('t').html(s);
	
	// Vue (标签中使用,js中使用同原生js或jQuery)
	v-html=s
	
	// Thymeleaf (标签中使用,js中使用同原生js或jQuery)
	th:utext="${s}"

	......其他
  • 13
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
具体的代码实现可能因为不同的富文本编辑器而有所不同,以下是一些常见的富文本编辑器的文本回显实现方法: 1. CKEditor CKEditor 是一个流行的富文本编辑器,它的文本回显可以使用 `getData()` 方法来获取编辑器中的 HTML 内容,然后将其插入到页面中的某个元素中。具体代码如下: ```javascript // 获取编辑器内容 var editorData = CKEDITOR.instances.editor1.getData(); // 将编辑器内容插入到页面中的某个元素 document.getElementById('editor-output').innerHTML = editorData; ``` 2. TinyMCE TinyMCE 也是一个广泛使用的富文本编辑器,它的文本回显可以使用 `getContent()` 方法来获取编辑器中的 HTML 内容,然后将其插入到页面中的某个元素中。具体代码如下: ```javascript // 获取编辑器内容 var editorData = tinymce.get('editor1').getContent(); // 将编辑器内容插入到页面中的某个元素 document.getElementById('editor-output').innerHTML = editorData; ``` 3. Quill Quill 是一个现代化的富文本编辑器,它的文本回显可以使用 `getContents()` 方法来获取编辑器中的内容,然后将其转换为 HTML 并插入到页面中的某个元素中。具体代码如下: ```javascript // 获取编辑器内容 var editorData = JSON.stringify(quill.getContents()); // 将编辑器内容转换为 HTML 并插入到页面中的某个元素 document.getElementById('editor-output').innerHTML = quill.root.innerHTML; ``` 以上是几个常见富文本编辑器的文本回显实现方法,具体实现还需要根据你所使用的富文本编辑器来进行调整。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值