vue项目中html文本安全性过滤

vue项目中可能会使用到 **v-html="htmlContent"**来展示富文本内容,对html文本即htmlContent进行安全性过滤:

javascript 复制代码
// html安全性过滤
<template>
    <div v-html="safeHtmlContent(htmlContent)"></div
</template>
<script>
import sanitizeHtml from 'sanitize-html';

export default {
  data() {
    return {
        htmlContent: '', // html文本
    }
  },
  methods: {
    safeHtmlContent(html) {
      const allowedTags = [
        'br',
        'p',
        'span',
        'strong'
      ];
      const rule = {
        allowedTags,
        allowedAttributes: {
        '*': ['data-id', 'class', 'style', 'contenteditable'],
        }
      };
      let realHtml = html?.replace(/\n/gm, '<br />');
      const safeContent = sanitizeHtml(realHtml, rule);
      return safeContent;
    }
  }
}
</script>

记录于2024-08-17

相关推荐
问道飞鱼4 分钟前
【前端知识】React生态你了解多少?
前端·react.js·前端框架·生态
Pu_Nine_95 分钟前
前端SSE(Server-Sent Events)实现详解:从原理到前端AI对话应用
前端·langchain·sse·ai对话
optimistic_chen15 分钟前
【Vue3入门】Pinia 状态管理 和 ElementPlus组件库
前端·javascript·vue.js·elementui·pinia·组件
酉鬼女又兒18 分钟前
零基础入门前端JavaScript 核心语法:var/let/const、箭头函数与 setTimeout 循环陷阱全解析(可用于备赛蓝桥杯Web应用开发)
开发语言·前端·javascript·蓝桥杯
Bling_Bling_121 分钟前
【无标题】
前端·网络协议
We་ct22 分钟前
React Diff & Key 核心解析
开发语言·前端·javascript·react.js·前端框架·reactjs·diff
哥本哈士奇23 分钟前
Vue 3 快速入门:从零搭建前后端 CRUD 应用
前端·javascript·vue.js
biubiubiu070624 分钟前
Agent 是如何拥有“手脚”的(ReAct 运行流程)
开发语言·前端·javascript
摸鱼的春哥28 分钟前
Agent教程21:知识图谱🕸,让AI🤖学会联想
前端·javascript·后端
SuperEugene28 分钟前
Vue3 组件拆分实战规范:页面 / 业务 / 基础组件边界清晰化,高内聚低耦合落地指南|Vue 组件与模板规范篇
前端·javascript·vue.js·前端框架