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

相关推荐
程序员三千_9 分钟前
最近爆火的MCP到底是什么?
前端
古时的风筝22 分钟前
暴论:2025年,程序员必学技能就是MCP
前端·后端·mcp
古时的风筝22 分钟前
这编程圈子变化太快了,谁能告诉我 MCP 是什么
前端·后端·mcp
王月lydia27 分钟前
环境变量篇-vue3的H5项目从0到1工程化落地经验篇2
前端
赵要上天27 分钟前
利用TTP协议 ETag + 路由守卫 实现前端发版后通知用户更新得一个方案
前端
李剑一29 分钟前
写一个vitepress新建文章脚本,自动化创建链接,别再手写了!
前端·node.js·vitepress
火星思想29 分钟前
React如何实现时间切片
前端·react.js
小学生豆豆35 分钟前
eslint以及其扩展插件
前端
Electrolux41 分钟前
【前端bug】Safari的选区机制导致的前端@人组件的bug
前端
icefiresong2442 分钟前
如何让 Vue 组件自动清理 EventBus 监听器?告别内存泄漏!
vue.js