如何将markdown转换为内联HTML?

时间:2015-06-20 15:38:47

标签: javascript html markdown

使用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>"

当然,我可以轻松地从字符串中删除前导/尾随p标记,但这感觉就像一个黑客。有更好的方法(或者更好的库)吗?

1 个答案:

答案 0 :(得分:0)

在浏览器中

您可以通过致电jquery

协助.html()执行此操作

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

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

在NodeJS

您可以使用第三方库解析名为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();
}
相关问题