mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-09-22 00:20:47 +02:00
🎨 Improve tag escaping
This commit is contained in:
parent
fc58892ce8
commit
618269e7df
2 changed files with 11 additions and 0 deletions
|
@ -308,6 +308,11 @@ func SearchTags(keyword string) (ret []string) {
|
|||
labels := labelBlocksByKeyword(keyword)
|
||||
keyword = strings.Join(strings.Split(keyword, " "), search.TermSep)
|
||||
for label := range labels {
|
||||
if "" == keyword {
|
||||
ret = append(ret, util.EscapeHTML(label))
|
||||
continue
|
||||
}
|
||||
|
||||
_, t := search.MarkText(label, keyword, 1024, Conf.Search.CaseSensitive)
|
||||
ret = append(ret, t)
|
||||
}
|
||||
|
|
|
@ -112,9 +112,15 @@ func EncloseHighlighting(text string, keywords []string, openMark, closeMark str
|
|||
re += ")"
|
||||
ret = util.EscapeHTML(text)
|
||||
|
||||
ret = strings.ReplaceAll(ret, """, "\ue000")
|
||||
ret = strings.ReplaceAll(ret, "<", "\ue001")
|
||||
ret = strings.ReplaceAll(ret, ">", "\ue002")
|
||||
if reg, err := regexp.Compile(re); err == nil {
|
||||
ret = reg.ReplaceAllStringFunc(ret, func(s string) string { return openMark + s + closeMark })
|
||||
}
|
||||
ret = strings.ReplaceAll(ret, "\ue000", """)
|
||||
ret = strings.ReplaceAll(ret, "\ue001", "<")
|
||||
ret = strings.ReplaceAll(ret, "\ue002", ">")
|
||||
|
||||
// 搜索结果预览包含转义符问题 Search results preview contains escape character issue https://github.com/siyuan-note/siyuan/issues/9790
|
||||
ret = strings.ReplaceAll(ret, "\\<span", "\\\\<span")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue