diff --git a/app/src/protyle/util/paste.ts b/app/src/protyle/util/paste.ts index 1cb1cbed8..6edce2611 100644 --- a/app/src/protyle/util/paste.ts +++ b/app/src/protyle/util/paste.ts @@ -26,27 +26,27 @@ export const pasteEscaped = async (protyle: IProtyle, nodeElement: Element) => { // task-blog-2~default~baiduj 无法原义粘贴含有 `~foo~` 的文本 https://github.com/siyuan-note/siyuan/issues/5523 // 这里必须多加一个反斜杆,因为 Lute 在进行 Markdown 嵌套节点转换平铺标记节点时会剔除 Backslash 节点, - // 多加入的一个反斜杆会作为文本节点保留下来,后续 Spin 时刚好用于转义标记符 https://github.com/siyuan-note/siyuan/issues/6341 - clipText = clipText.replace(/\\/g, "\\\\\\\\") - .replace(/\*/g, "\\\\\\*") - .replace(/\_/g, "\\\\\\_") - .replace(/\[/g, "\\\\\\[") - .replace(/\]/g, "\\\\\\]") - .replace(/\!/g, "\\\\\\!") - .replace(/\`/g, "\\\\\\`") - .replace(/\/g, "\\\\\\>") - .replace(/\&/g, "\\\\\\&") - .replace(/\~/g, "\\\\\\~") - .replace(/\{/g, "\\\\\\{") - .replace(/\}/g, "\\\\\\}") - .replace(/\(/g, "\\\\\\(") - .replace(/\)/g, "\\\\\\)") - .replace(/\=/g, "\\\\\\=") - .replace(/\#/g, "\\\\\\#") - .replace(/\$/g, "\\\\\\$") - .replace(/\^/g, "\\\\\\^") - .replace(/\|/g, "\\\\\\|"); + // 多加入的一个反斜杆会作为文本节点保留下来,后续 Spin 时刚好用于转义标记符 + clipText = clipText.replace(/\\/g, "\\\\") + .replace(/\*/g, "\\*") + .replace(/_/g, "\\_") + .replace(/\[/g, "\\[") + .replace(/]/g, "\\]") + .replace(/!/g, "\\!") + .replace(/`/g, "\\`") + .replace(//g, "\\>") + .replace(/&/g, "\\&") + .replace(/~/g, "\\~") + .replace(/\{/g, "\\{") + .replace(/}/g, "\\}") + .replace(/\(/g, "\\(") + .replace(/\)/g, "\\)") + .replace(/=/g, "\\=") + .replace(/#/g, "\\#") + .replace(/\$/g, "\\$") + .replace(/\^/g, "\\^") + .replace(/\|/g, "\\|"); pasteText(protyle, clipText, nodeElement); } catch (e) { console.log(e);