我在我的项目中使用wmd markdown编辑器,我遇到代码标记问题:
如果我输入一个代码段,则markdown无法正确转换为html,它会转换为“<p>
”代码,但如果我先输入其他文本,然后再输入代码段,则会在“<code>
”代码中正确转换
这是wmd markdown编辑器的错误吗?我该如何解决这个问题?
答案 0 :(得分:1)
我实际上正在为我的固定版WMD编辑工作。使用正则表达式,您可以快速删除前导<p>
标记,这些标记最明显是许多问题的原因:
html = html.replace(/^<p>/g, '').replace(/<\/p>$/g, '');
在wmd ..中强制执行此操作。
(我假设你正在使用wmd编辑器的SO分支)找到这部分代码并按如下方式进行更改:
var convertToHtml = function(){
if (wmd.showdown) {
var markdownConverter = new wmd.showdown.converter();
}
var text = inputBox.value;
var callback = function(){
inputBox.value = text;
};
if (!/markdown/.test(wmd.wmd_env.output.toLowerCase())) {
if (markdownConverter) {
inputBox.value = markdownConverter.makeHtml(text);
// Add this line here:
inputBox.value= inputBox.value.replace(/^<p>/g, '').replace(/<\/p>$/g, '');
top.setTimeout(callback, 0);
}
}
return true;
};
未经测试,但您应该明白这一点。
答案 1 :(得分:0)
与T. Stone先生回答。我在WMD中使用过,删除
<p> ..article.. </p>
是..article ..
这里是WMD.js代码:( line:910)
if (converter) {
text = converter.makeHtml(text);
//new code here
text= text.replace(/^<p>/g, '').replace(/<\/p>$/g, '');
}
我在回答中写道,因为我很高兴它在一周内解决了我的问题。三江源。