From f0088ccf86703a14a39bbf87fe13f8bb542f8efd Mon Sep 17 00:00:00 2001 From: Liang Ding Date: Fri, 4 Nov 2022 15:44:39 +0800 Subject: [PATCH] =?UTF-8?q?:bug:=20=E6=97=A0=E6=B3=95=E6=9B=BF=E6=8D=A2?= =?UTF-8?q?=E5=8C=85=E5=90=AB=20HTML=20=E8=BD=AC=E4=B9=89=E7=9A=84?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=86=85=E5=AE=B9=20https://github.com/siyua?= =?UTF-8?q?n-note/siyuan/issues/6476?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kernel/model/search.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/kernel/model/search.go b/kernel/model/search.go index 5994fa606..6b2ec11af 100644 --- a/kernel/model/search.go +++ b/kernel/model/search.go @@ -207,6 +207,17 @@ func FindReplace(keyword, replacement string, ids []string) (err error) { n.Tokens = bytes.ReplaceAll(n.Tokens, []byte(keyword), []byte(replacement)) } case ast.NodeTextMark: + if n.IsTextMarkType("code") { + escapedKey := html.EscapeString(keyword) + if strings.Contains(n.TextMarkTextContent, escapedKey) { + n.TextMarkTextContent = strings.ReplaceAll(n.TextMarkTextContent, escapedKey, replacement) + } + } else { + if bytes.Contains(n.Tokens, []byte(keyword)) { + n.TextMarkTextContent = strings.ReplaceAll(n.TextMarkTextContent, keyword, replacement) + } + } + if strings.Contains(n.TextMarkTextContent, keyword) { n.TextMarkTextContent = strings.ReplaceAll(n.TextMarkTextContent, keyword, replacement) }