diff --git a/kernel/model/backlink.go b/kernel/model/backlink.go index 37a3e71d3..877c63817 100644 --- a/kernel/model/backlink.go +++ b/kernel/model/backlink.go @@ -791,10 +791,15 @@ func searchBackmention(mentionKeywords []string, keyword string, excludeBacklink text := textBuf.String() text = strings.ToLower(text) + text = luteEngine.Space(text) var contain bool for _, mentionKeyword := range mentionKeywords { parts := strings.Split(text, " ") for _, part := range parts { + if "" == part { + continue + } + if gulu.Str.IsASCII(mentionKeyword) { if part == mentionKeyword { contain = true diff --git a/kernel/model/search.go b/kernel/model/search.go index b02220a22..57afce85a 100644 --- a/kernel/model/search.go +++ b/kernel/model/search.go @@ -649,8 +649,14 @@ func markReplaceSpan(text string, keywords []string, replacementStart, replaceme for _, k := range keywords { if gulu.Str.IsASCII(k) { - if part == k { - parts[i] = replacementStart + k + replacementEnd + if gulu.Str.IsASCII(part) { + if part == k { + parts[i] = replacementStart + k + replacementEnd + } + } else { + if strings.Contains(part, k) { + parts[i] = strings.ReplaceAll(part, k, replacementStart+k+replacementEnd) + } } } else { if strings.Contains(part, k) {