提问人:dudung 提问时间:11/10/2022 更新时间:11/10/2022 访问量:270
markdown-它不能转义与号字符
markdown-it can not escape ampersand character
问:
我尝试使用 Markdown-it 解析 HTML 内容,并在 head 部分中使用以下行
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.6.0/styles/default.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.6.0/highlight.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/markdown-it/11.0.1/markdown-it.min.js "></script>
<script>
window.onload = function() {
var mdit = window.markdownit();
mdit.set({
highlight: function (str, lang) {
if (lang && hljs.getLanguage(lang)) {
try {
var code = '<pre class="hljs"><code>'
+ hljs.highlight(lang, str, true).value
+ '</code></pre>';
return code;
} catch (__) {}
}
}
});
var div = document.getElementsByClassName('markdown');
for(var i = 0; i < div.length; i++) {
var content = div[i].innerHTML;
var code = document.getElementsByClassName('markdown')[i];
code.innerHTML = mdit.render(content);
}
}
</script>
和身体部分的这些线条
## C++
```cpp
for(var i = 0; i < 10; i++) {
cout << i << endl;
}
产生
C++
for(var i = 0; i < 10; i++) {
cout << i << endl;
}
似乎函数无法转义句柄字符。我想它被翻译为 但后来被翻译成 ,所以它成为并呈现为而不是在最终结果中。render()
markdownit()
&
<
<
&
&
&t;
<
<
我已经找到了解决方法
code.innerHTML = mdit.render(content).replaceAll("&", "&");
但希望仍然可以通过使用 Markdown-it 的设置找到更好的答案。
答: 暂无答案
评论