Open Versus2017 opened 10 months ago
我查看dom节点,发现有很多换行
还请麻烦指导一下
是不是应该在匹配节点末端,如 </li>
,不添加换行?
暂时解决了这个问题,我在解析之前过滤了 \r\n
module.exports = (str,type,option)=>{
option = option || {};
let result;
switch (type) {
case 'markdown':
let r = md(str)
// 添加如下代码,过滤 \r\n
r = r.replace(/(\r|\n){1,}/g, str => {
return new Array(str.length).join("<p> </p>")
});
r = r.replace(/\r|\n/g, str => {
return "\r"
});
result = parse(r,option);
break;
case 'html':
result = parse(str,option);
break;
default:
throw new Error('Invalid type, only markdown and html are supported');
break;
};
return result;
};
暂时解决了这个问题,我在解析之前过滤了 \r\n
module.exports = (str,type,option)=>{ option = option || {}; let result; switch (type) { case 'markdown': let r = md(str) // 添加如下代码,过滤 \r\n r = r.replace(/(\r|\n){1,}/g, str => { return new Array(str.length).join("<p> </p>") }); r = r.replace(/\r|\n/g, str => { return "\r" }); result = parse(r,option); break; case 'html': result = parse(str,option); break; default: throw new Error('Invalid type, only markdown and html are supported'); break; }; return result; };
感谢老哥 我也这么解决的,但是想问下为什么要用空p标签替换呢?
我使用的是最新版本v3,我在解析长字符串时,解析成小程序的dom,会出现很多多余的换行,导致显示错乱!
要解析的原文本如下
调用 md.render 后的结果如下
最后每个节点按照如上字符串的方式出现多余换行,结果如下: