更新:奖金是针对使用“标记”库的解决方案的。
此Markdown代码:
*foo*
将生成以下HTML代码:
<p><em>foo</em></p>
现场演示: https://jsbin.com/luganot/edit?js,console
但是,我已经将生成的HTML代码注入到内联上下文中,如下所示:
<p> text [inject generated HTML here] text </p>
所以我不希望<p>
元素包装生成的HTML代码。我只希望将*
分隔符转换为<em>
、元素等。
有没有办法告诉Markdown转换器不要生成<p>
包装器?目前,我正在对生成的HTML字符串执行.slice(3,-4)
,它确实删除了<p>
和</p>
标记,但这显然不是我想长期使用的解决方案。
发布于 2017-08-20 12:35:10
您可以跳过块词法分析部分,改为使用inlineLexer。
html = marked.inlineLexer(markdown, [], options);
//example
marked.inlineLexer('*foo*', []) // will output '<em>foo</em>'
发布于 2012-12-10 23:30:33
使用jQuery是一种选择吗?这将在以下情况下工作:
var $text = $(new Showdown.converter().makeHtml( '*foo*' ) );
console.log( $text.html() );
发布于 2015-02-18 20:34:34
我也在寻找解决这个问题的方法,这时我发现了这个SO线程。我在这里还没有找到好的解决方案,所以我写了我自己的。
var markdown = new Showdown.converter().makeHtml( '*foo*' );
console.log(markdown.replace(/^<p>|<\/p>$/g, ''));
https://stackoverflow.com/questions/13782605
复制相似问题