+
95
-

回答

可以通过正则匹配自定义标签渲染,完整示例代码如下:

<!doctype html>
<html>
<head>
  <meta charset="utf-8"/>
  <title>Marked in the browser</title>
</head>
<body>
  <div id="content"></div>
<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/marked.umd.min.js"></script>
  <script>

var mdtxt = ' [[自定义内容]]发发发 [[自定义内容]]';

    // 定义一个自定义渲染器
const renderer = new marked.Renderer();

// 自定义标签的正则表达式
const customTagRegex = /\[\[(.*?)\]\]/g;

// 自定义标签的渲染函数
renderer.text = (text) => {
  return text.replace(customTagRegex, (match, content) => {
    // 对自定义标签内容进行处理
    const processedContent = content.toUpperCase();
    return `<h1>${processedContent}</h1>`;
  });
};


marked.setOptions({ renderer: renderer })


// 得到的_blankA为<a href="http://baidu.com" title="百度" target="_blank">baidu.com</a>
    document.getElementById('content').innerHTML =
      marked.parse(mdtxt);
  </script>
</body>
</html>

网友回复

我知道答案,我要回答