diff --git a/kernel/model/tag.go b/kernel/model/tag.go index 856aff7dc..d6f425c63 100644 --- a/kernel/model/tag.go +++ b/kernel/model/tag.go @@ -328,7 +328,7 @@ func labelTags() (ret map[string]Tags) { tagSpans := sql.QueryTagSpans("") for _, tagSpan := range tagSpans { - label := tagSpan.Content + label := util.UnescapeHTML(tagSpan.Content) if _, ok := ret[label]; ok { ret[label] = append(ret[label], &Tag{}) } else { diff --git a/kernel/search/mark.go b/kernel/search/mark.go index 26a99b601..f248809f0 100644 --- a/kernel/search/mark.go +++ b/kernel/search/mark.go @@ -95,7 +95,7 @@ func EncloseHighlighting(text string, keywords []string, openMark, closeMark str if splitWords { wordBoundary = lex.IsASCIILetterNums(gulu.Str.ToBytes(k)) // Improve virtual reference split words https://github.com/siyuan-note/siyuan/issues/7833 } - k = regexp.QuoteMeta(k) + k = regexp.QuoteMeta(util.EscapeHTML(k)) re += "(" if wordBoundary { re += "\\b" @@ -110,10 +110,10 @@ func EncloseHighlighting(text string, keywords []string, openMark, closeMark str } } re += ")" - ret = text + ret = util.EscapeHTML(text) if reg, err := regexp.Compile(re); err == nil { - ret = reg.ReplaceAllStringFunc(text, func(s string) string { return openMark + util.EscapeHTML(s) + closeMark }) + ret = reg.ReplaceAllStringFunc(ret, func(s string) string { return openMark + s + closeMark }) } // 搜索结果预览包含转义符问题 Search results preview contains escape character issue https://github.com/siyuan-note/siyuan/issues/9790