问题描述
我正在使用 NPM 的 Turndown 包 (https://www.npmjs.com/package/turndown) 将 Html 文本转换为 Markdown 文本。
在那,我想保留一些元素,如跨度、锚标签等。
根据文档,可以通过添加这样的 keep
规则来完成:
turndownService.keep(['a','span']);
但是,如果锚元素具有 href 属性,则它不起作用:
const TurndownService = require('turndown');
const turndownService = new TurndownService();
turndownService.keep(['a','span']);
let html1 = `<p>Hello <span>link<span></p>`;
let html2 = `<p>Hello <a>link</a></p>`;
let html3 = `<p>Hello <a href="abc.com">link</a></p>`;
let markdown1 = turndownService.turndown(html1);
let markdown2 = turndownService.turndown(html2);
let markdown3 = turndownService.turndown(html3);
console.log(markdown1);
console.log(markdown2);
console.log(markdown3);
输出:
Hello <span>link</span>
Hello <a>link</a>
Hello [link](abc.com)
如您所见,html3 在锚标记中具有 href 属性,在这种情况下,keep 规则不起作用。
有没有办法在 Turndown 中做到这一点?或者有没有其他 Markdown 库可以轻松完成此操作?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)