This commit is contained in:
Daniel 2024-12-08 23:09:06 +08:00
parent 497037465b
commit 67f64f7b2b
No known key found for this signature in database
GPG key ID: 86211BA83DF03017
2 changed files with 3 additions and 3 deletions

View file

@ -1459,8 +1459,7 @@ func fullTextSearchCountByFTS(query, boxFilter, pathFilter, typeFilter, ignoreFi
} }
func fullTextSearchByLikeWithRoot(query, boxFilter, pathFilter, typeFilter, ignoreFilter, orderBy string, beforeLen, page, pageSize int) (ret []*Block, matchedBlockCount, matchedRootCount int) { func fullTextSearchByLikeWithRoot(query, boxFilter, pathFilter, typeFilter, ignoreFilter, orderBy string, beforeLen, page, pageSize int) (ret []*Block, matchedBlockCount, matchedRootCount int) {
query = strings.ReplaceAll(query, "'", "''") query = strings.ReplaceAll(query, "'", "''") // 不需要转义双引号,因为条件都是通过单引号包裹的,只需要转义单引号即可
query = strings.ReplaceAll(query, "\"", "\"\"")
keywords := strings.Split(query, " ") keywords := strings.Split(query, " ")
contentField := columnConcat() contentField := columnConcat()
var likeFilter string var likeFilter string

View file

@ -24,6 +24,7 @@ import (
"github.com/88250/gulu" "github.com/88250/gulu"
"github.com/88250/lute/lex" "github.com/88250/lute/lex"
"github.com/siyuan-note/siyuan/kernel/util"
) )
func MarkText(text string, keyword string, beforeLen int, caseSensitive bool) (pos int, marked string) { func MarkText(text string, keyword string, beforeLen int, caseSensitive bool) (pos int, marked string) {
@ -112,7 +113,7 @@ func EncloseHighlighting(text string, keywords []string, openMark, closeMark str
ret = text ret = text
if reg, err := regexp.Compile(re); err == nil { if reg, err := regexp.Compile(re); err == nil {
ret = reg.ReplaceAllStringFunc(text, func(s string) string { return openMark + s + closeMark }) ret = reg.ReplaceAllStringFunc(text, func(s string) string { return openMark + util.EscapeHTML(s) + closeMark })
} }
// 搜索结果预览包含转义符问题 Search results preview contains escape character issue https://github.com/siyuan-note/siyuan/issues/9790 // 搜索结果预览包含转义符问题 Search results preview contains escape character issue https://github.com/siyuan-note/siyuan/issues/9790