如何解决由 Showdown 扩展包装在 HTML 中的 Markdown 未解析
我创建了一个 Showdown 扩展,它将内容包装在一个带有图标的 div 结构中,如下所示。
showdown.extension('json-value',function()
{
'use strict';
return [
{
type: 'lang',regex: /^(?:[ \t]*)<>(?!>>)(?:[ \t]*)(.+?)$/gm,replace: function(match,text)
{
return '<div class="json-value"><div>@icon-code</div><div>' + text + '</div></div>';
}
},{
type: 'lang',regex: /^(?:[ \t]*)<>>>(?:[ \t]*)([^]+?)\n>>>/gm,text)
{
return '<div class="json-value"><div>@icon-code</div><div>' + text + '</div></div>';
}
}
];
}
);
这将对 Markdown 文本进行操作,例如:
<> This is a **JSON value** test!
<>>> This is another JSON value test!
| Value | Meaning
| :---- | :------
| `VI` | VFR/IFR - visual and instrumentation flight rules
| `V` | VFR - visual flight rules
| `I` | IFR - instrumentation flight rules
>>>
@icon-code
是另一个扩展程序的降价格式,它正确地创建了一个图标。
问题是,如果我在匹配的文本之后添加 HTML,它会导致无法解析该文本中的任何降价。所以在上面的例子中,粗体文本和表格没有转换为 HTML。
但是,如果我将返回行更改为:
return '<div class="json-value"><div>@icon-code</div><div>' + text;
或者:
return '<div class="json-value"><div>@icon-code</div><div></div></div>' + text + '';
然后markdown就被正确解析了。谁能建议如何包装匹配的文本并仍然有完整的解析?谢谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。