Markdown解析

对markdown内容进行解析展示,包括 将markdown数据转换成html文本、数据消毒、转换成reactDom内容渲染等。

将markdown内容转换成html文本

此阶段将markdown格式的字符串文本转化成通用的html字符串

import MarkdownIt from 'markdown-it';

const html_content = new MarkdownIt({
   
  html: true,
   xhtmlOut: true,
   breaks: true,
   langPrefix: 'language-',
   linkify: true,
   typographer: true,
 }).render(text);
对转换后的html文本进行消毒处理

此阶段对html字符串中的不需要的内容进行消毒处理,比如Link标签、不确定安全性的第三方外链活着一些可能造成数据安全的脚本等

import sanitizeHtml from 'sanitize-html';

const sanitizeHtmlOptiosn = {
   
  allowedTags: [
    "address", "article", "aside", "footer", "header", "h1", "h2", "h3", "h4",
    "h5", "h6", "hgroup", "main", "nav", "section", "blockquote", "dd", "div",
    "dl", "dt", "figcaption", "figure", "hr", "li", "main", "ol", "p", "pre",
    "ul", "a", "abbr", "b", "bdi", "bdo", "br", "cite", "code", "data", "dfn",
    "em", "i", "kbd", "mark", "q", "rb", "rp", "rt", "rtc", "ruby", "s", "samp",
    "small", "span", "strong", "sub", "sup", "time", "u", "var", "wbr", "caption",
    "col", "colgroup", "table", "tbody", "td", "tfoot", "th", "thead", "tr", "font", "img"
  ],
  disallowedTagsMode: 'discard',
  allowedAttributes: {
   
    font: [ 'color' ]
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叨槿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值