如何将 markdown 转换为内联 HTML?

How to convert markdown to inline HTML?

使用 Markdown library 我可以执行以下操作:

>  markdown.toHTML ("test `some code`")
<- "<p>test <code>some code</code></p>"

因此很容易将简单的 wiki 文本转换为 HTML。但是,结果 HTML 是一个 ,我(也)需要内联 HTML,例如用作 <input> 标签。所以,我需要一些函数或一段足够简单的代码来做到这一点:

>  ... ("test `some code`")
<- "test <code>some code</code>"

当然,我可以很容易地从字符串中删除 leading/trailing p 标签,但这感觉就像一个 hack。有没有更好的方法(或者更好的库)?

在浏览器中

您可以通过致电 .html()

协助 jquery 完成此操作

http://plnkr.co/edit/Bkzp3het37F3S1E1VVIt?p=preview

var html = markdown.toHTML('test `some code`');
var innerHtml = $(html).html();
alert(innerHtml);

在 NodeJS 中

您可以通过使用第 3 方库来解析名为 cheerio

的 html 来实现此目的

js:

var cheerio = require('cheerio');
var markdown = require("markdown").markdown;

var html = markdown.toHTML("test `some code`");

var $ = cheerio.load(html);
var innerHtml = $.root().contents().html();

console.log(innerHtml);

输出:

test <code>some code</code>

此外,您可以像这样将所有内容包装在一个函数中:

var cheerio = require('cheerio');

function getRidOfRootElement(html){
    return cheerio.load(html).root().contents().html();
}