wangeditor富文本编辑器以文本的形式展示公式

最终展示的效果

1.首先将要传给后端的富文本值进行转化

//假设workContent是富文本写入的值this.workContent = this.escapeHTML(this.workContent)//通过escapeHTML方法转化传给后端
methods:{escapeHTML(str) {return str.replace(/&/g, '&amp;')  // 将 & 替换为 &amp;.replace(/</g, '&lt;')   // 将 < 替换为 &lt;.replace(/</g, '&gt;')   // 将 > 替换为 &gt;.replace(/"/g, '&quot;') // 将 " 替换为 &quot;.replace(/'/g, '&#39;'); // 将 ' 替换为 &#39;},
}

2.下载插件katex

npm install katex//在所需页面引入kateximport katex from 'katex/dist/katex.mjs';
import 'katex/dist/katex.css';

3.解析后台返给前端的值,并在页面展示

//后台返给前端的还是转化完的信息
列如:workContent:"&lt;p&gt;sacs你的来看看了你看老大那看来你看了能看到那看来你打开了·&lt;/p&gt;&lt;div&gt;&lt;span data-w-e-type=&quot;formula&quot; data-w-e-is-void data-w-e-is-inline data-value=&quot;x=\\frac{-b\\pm\\sqrt{{b}^{2}-4ac}}{2a}&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span data-w-e-type=&quot;formula&quot; data-w-e-is-void data-w-e-is-inline data-value=&quot;{3}^{+9}&quot;&gt;&lt;/span&gt;&lt;/div&gt;"是这样数据<div  v-html="renderedContent"></div>mounted(){this.renderKatexFormulas(this.unescapeHTML(this.workContent))
},
methods:{//首先调用unescapeHTML方法,将数据转化为标签格式unescapeHTML(str) {const entityMap = {"&amp;": "&","&lt;": "<","&gt;": ">","&quot;": '"',"&#39;": "'","&#x27;": "'",};return String(str).replace(/&(?:amp|lt|gt|quot|#39|#x27);/g,function (s) {return entityMap[s];});},//在调用renderKatexFormulas方法,进行解析async renderKatexFormulas(val) {// 创建一个临时的 div 元素来解析 HTML 字符串const tempDiv = document.createElement('div');tempDiv.innerHTML = val;// 查找所有包含 Katex 公式的 span 元素const formulaSpans = tempDiv.querySelectorAll('span[data-w-e-type="formula"]');// 遍历并渲染每个公式for (const span of formulaSpans) {const formula = span.getAttribute('data-value');try {// 使用 Katex 渲染公式const renderedFormula = await katex.renderToString(formula);// 替换原始的 span 元素为渲染后的 Katex 公式span.innerHTML = renderedFormula;} catch (error) {console.error('Katex rendering error for formula:', formula, error);}}// 将处理后的 HTML 内容设置为组件的数据属性this.renderedContent = tempDiv.innerHTML;},
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/60329.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

内置RTK北斗高精度定位的4G执法记录仪、国网供电服务器记录仪

内置RTK北斗高精度定位的4G执法记录仪、国网供电服务器记录仪BD311R 发布时间: 2024-10-23 11:28:42 一、 产品图片&#xff1a; 二、 产品特性&#xff1a; 4G性能&#xff1a;支持2K超高清图传&#xff0c;数据传输不掉帧&#xff0c;更稳定。 独立北…

error: .repo/manifests/: contains uncommitted changes 解决办法

在使用REPO管理Android源码的过程中&#xff0c;开发完相应功能后&#xff0c;做代码管理处理后&#xff0c;有可能会碰到如下提示&#xff1a; error: .repo/manifests/: contains uncommitted changes 出现这个提示&#xff0c;表明本地代码发生变化&#xff0c;但没有comm…

【自学笔记】神经网络(2) -- 模型评估和优化

文章目录 划分数据集训练集和测试集训练误差 测试误差交叉验证测试集 偏差与方差偏差方差表现基准 学习曲线error - train set sizeerror - degree of polynomial 数据增强迁移学习项目的完整周期样本不平衡问题精确率和召回率精确率与召回率的平衡 划分数据集 我们当然希望把所…

Windows 局域网IP扫描工具:IPScaner 轻量免安装

IPScaner是一款258KB的工具&#xff0c;具备快捷修改IP、批量扫描、地址计算等功能&#xff0c;自动识别本机IP网段&#xff0c;快速查看IP使用情况&#xff0c;适用于监控维护、企业IT运维等场 软件功能介绍&#xff1a; 1&#xff09;快捷修改本地IP、IP批量扫描、IP地址计算…

ECharts 实现大屏地图功能

ECharts 地图实战&#xff1a;实现完整的地图下钻功能 前言 在众多 ECharts 图表类型中&#xff0c;地图开发是一个常见的应用场景。特别是地图下钻功能&#xff0c;它可以帮助用户深入地图的不同层级&#xff0c;查看更加详细的地理数据。本文将详细介绍如何使用 ECharts 实现…

2024 年Postman 如何安装汉化中文版?

2024 年 Postman 的汉化中文版安装教程

SQL面试题——飞猪SQL面试 重点用户

飞猪SQL面试题—重点用户 在一些场景中我们经常听到这样的一些描述&#xff0c;例如20%的用户贡献了80%的销售额&#xff0c;或者是20%的人拥有着80%的财富&#xff0c;你知道这样的数据是怎么算出来的吗 数据如下,uid 是用户的id ,amount是用户的消费金额 |uid|amount| ---…

fork函数详解

前言 之前我们提到&#xff0c;创建子进程的时候&#xff0c;需要使用fork()函数&#xff0c;其中分别有id 0和id >0的if函数&#xff0c;但是实验表明&#xff0c;两个if函数中的内容都得到了实现。按照我们之前所学&#xff0c;一个变量同一时间只能有一个值&#xff0c;…

OkHttp网络请求框架

添加依赖 在 build.gradle 文件中添加 OkHttp 依赖&#xff1a; dependencies {implementation("com.squareup.okhttp3:okhttp:4.10.0") }使用OkHttp发起GET请求 同步请求 public class MainActivity extends AppCompatActivity {// Used to load the okhttptes…

Ue5 umg学习(三)文本控件

从通用中&#xff0c;选择文本控件 将其拉入画布中&#xff0c;和图像控件使用方法类似。 右边是字形&#xff0c;尺寸&#xff0c;字间距。 可以导入字形&#xff0c;使用&#xff0c;不过要注意&#xff0c;不要导入FZ系字体&#xff0c;不然可能会涉及侵权 修改尺寸会修…

希冀 实验五 请求分页式存储管理

void FIFO_solve() { memset(in, 0, sizeof(in)); int fault_n 0; //缺页次数 int ptr, i; //预调页填满内存 ptr 0; //下一个要存放的位置 for (i 0; i < maxn && ptr < size; i) if (!in[page[i]]) { pin[…

终于弄懂了Python变量的作用域:局部变量与全局变量

Python变量的作用域&#xff1a;局部变量与全局变量 在Python编程中&#xff0c;作用域指的是变量在程序中的可见性或访问范围。作用域的概念决定了变量可以在程序的哪些地方被访问和修改。理解变量的作用域&#xff0c;特别是局部变量和全局变量之间的差异&#xff0c;对编写…

wireshark演进之路——从GTK到Qt

Wireshark 自 1998 年诞生至今&#xff0c;已有超过26年的历史了。它最早由 Gerald Combs 创建&#xff0c;最初名为 Ethereal。2006 年&#xff0c;Ethereal 更名为 Wireshark&#xff0c;并继续发展成了全球领先且人尽皆知的网络协议分析工具&#xff0c;其GUI演变就是其中非…

OpenGL 进阶系列07 - 阴影贴图(shadowmap )

一:概述: 在 OpenGL 中,Shadow Mapping(阴影贴图)是一种常用的实时阴影技术,用于渲染物体的阴影效果。这种方法通过生成光源视角下的深度贴图,再在场景渲染时使用它来判断物体是否被遮挡,从而实现阴影效果。下面是实现 Shadow Mapping 的基本步骤和相关知识。 二:绘制…

el-form el-table 前端排序+校验+行编辑

一、页面 <template><div class="bg" v-if="formData.mouldData?.length == 0">当前暂无模板,点击<view class="add" @click="addMould">立即创建</view></div><div v-else><el-col :xs=&…

【大数据学习 | HBASE高级】rowkey的设计,hbase的预分区和压缩

1. rowkey的设计 ​ RowKey可以是任意字符串&#xff0c;最大长度64KB&#xff0c;实际应用中一般为10~100bytes&#xff0c;字典顺序排序&#xff0c;rowkey的设计至关重要&#xff0c;会影响region分布&#xff0c;如果rowkey设计不合理还会出现region写热点等一系列问题。 …

html实体字符

HTML 实体字符 HTML 实体字符&#xff08;HTML Entities&#xff09;是在 HTML 中用来表示那些在 HTML 文档中直接使用可能会引起问题的特殊字符的一种方法。这些特殊字符包括但不限于尖括号、与号、引号等&#xff0c;它们在 HTML 中有特定的用途&#xff08;如标签界定符、属…

CSS Modules中的 :global

最近写需求遇到如下代码&#xff0c;我们来分析一番&#xff1a; .medicine-bot {:global(.cosd-site-vcard-card) {margin-top: -3px;}:global(.cosd-site-vcard-title-text) {font-size: var(--cos-text-headline-sm);}:global(.cosd-site-vcard-button) {background-color: …

JavaWeb后端开发案例——苍穹外卖day01

day1遇到问题&#xff1a; 1.前端界面打不开&#xff0c;把nginx.conf文件中localhost:80改成81即可 2.前后端联调时&#xff0c;前端登录没反应&#xff0c;application.yml中默认用的8080端口被占用&#xff0c;就改用了8081端口&#xff0c;修改的时候需要改两个地方&…

Centos7镜像下载与docker安装

注意&#xff1a; CentOS 7 已于2024年6月30日停止维护&#xff01; 1、下载 由于 centos 7 已经停止维护&#xff0c;部分镜像网站移除了对centos 7的支持&#xff0c;这里找到了部分现在还可以使用的镜像网站 阿里云开源镜像站&#xff1a;https://mirrors.aliyun.com/cent…