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