gpt4 book ai didi

javascript - 仅使用 showdown.js Markdown 表达式库限制某些格式

转载 作者:太空狗 更新时间:2023-10-29 15:16:18 32 4
gpt4 key购买 nike

我正在使用可以从 https://github.com/showdownjs/showdown/ 下载的 showdown.js

问题是我试图只允许某些格式?例如。只允许使用粗体格式,其余的不会被转换并被丢弃,例如

如果我在下面写Markdown Expression的文本

"Text attributes _italic_, *italic*, __bold__, **bold**, `monospace`."

上面的输出会在下面

<p>Text attributes <em>italic</em>, <em>italic</em>, <strong>bold</strong>, <strong>bold</strong>, <code>monospace</code>.

转换后。现在我想要的是在转换时,它应该只转换粗体表达式它应该丢弃的其余表达式。

我正在使用下面的代码将 markdown 表达式转换为下面的普通文本

var converter = new showdown.Converter(),
//Converting the response received in to html format
html = converter.makeHtml("Text attributes _italic_, *italic*, __bold__, **bold**, `monospace`.");

谢谢!

最佳答案

showdown.js 无法做到开箱即用。这将需要从源代码创建 showdown.js 的自定义构建,删除不需要的 subParsers。

还有其他机制可以用来让摊牌只转换粗体 Markdown ,比如在解析前后监听调度事件,但因为你想要粗体 converted 这不是我会采用的方法,因为它需要为只需要几行代码的东西编写大量代码。

您可以改为使用 showndown.js 中解析/转换粗体部分的部分,如下所示:

function markdown_bold(text) {
html = text;
//underscores
html = html.replace(/(^|\s|>|\b)__(?=\S)([^]+?)__(?=\b|<|\s|$)/gm, '$1<strong>$2</strong>');
//asterisks
html = html.replace(/(\*\*)(?=\S)([^\r]*?\S[*]*)\1/g, '<strong>$2</strong>');
return html;
}

Source .

关于javascript - 仅使用 showdown.js Markdown 表达式库限制某些格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37695155/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com