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

相关推荐
星星在线13 分钟前
MusicFree:一个「All in One」的个人音乐服务器,让听歌回归简单
前端·后端
IT_陈寒1 小时前
Redis的SETNX并发问题让我加了三天班
前端·人工智能·后端
demo007x1 小时前
Docling 文档转换以及技术架构分析
前端·后端·程序员
京东云开发者2 小时前
京东市民服务又“上新”!这次是黑龙江“龙易办”
前端
袋鱼不重3 小时前
我的神奇同事,AI 用多了居然写了个 Open In Codex
前端·后端·ai编程
Fireworks3 小时前
深入vue3源码解读 -- 1、响应式的基础概念
前端
程序员黑豆3 小时前
JDK 下载安装与配置详细教程
java·前端·ai编程
hunterandroid3 小时前
文件存储:内部存储与外部存储
前端
NorBugs4 小时前
飞机大战 Low 版 (Made in AI)
前端
angerdream4 小时前
Android手把手编写儿童手机远程监控App之agentweb如何实现全屏
前端