fix: mp-html 单~被解析为中划线的问题修复

This commit is contained in:
2025-09-09 21:32:27 +08:00
parent 5072dc92a3
commit cf2a3ba19a

View File

@@ -13,7 +13,26 @@ function Markdown (vm) {
Markdown.prototype.onUpdate = function (content) { Markdown.prototype.onUpdate = function (content) {
if (this.vm.markdown) { if (this.vm.markdown) {
return marked(content) // return marked(content)
// 先处理内容,确保只有双波浪号才被解析为删除线
// 使用临时占位符保护单个波浪号
let processedContent = content;
// 1. 先保护双波浪号删除线语法
processedContent = processedContent.replace(/~~([^~]+?)~~/g, '__STRIKETHROUGH_START__$1__STRIKETHROUGH_END__');
// 2. 将剩余的单个波浪号转换为HTML实体
processedContent = processedContent.replace(/~/g, '~');
// 3. 恢复双波浪号删除线语法
processedContent = processedContent.replace(/__STRIKETHROUGH_START__/g, '~~').replace(/__STRIKETHROUGH_END__/g, '~~');
return marked(processedContent, {
gfm: true,
breaks: false,
pedantic: false,
sanitize: false,
});
} }
} }