可以通过正则匹配自定义标签渲染,完整示例代码如下:
<!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> 网友回复


