From acda36ae3f29e46cb4041769ee14a1b9603edea0 Mon Sep 17 00:00:00 2001 From: Yrom Wang Date: Fri, 7 Feb 2025 12:16:18 +0530 Subject: [PATCH] fix: KnowledgeSearchPopup keyword highlighting issue --- .../src/pages/knowledge/components/KnowledgeSearchPopup.tsx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/renderer/src/pages/knowledge/components/KnowledgeSearchPopup.tsx b/src/renderer/src/pages/knowledge/components/KnowledgeSearchPopup.tsx index 965b927b..9d727b58 100644 --- a/src/renderer/src/pages/knowledge/components/KnowledgeSearchPopup.tsx +++ b/src/renderer/src/pages/knowledge/components/KnowledgeSearchPopup.tsx @@ -69,7 +69,11 @@ const PopupContainer: React.FC = ({ base, resolve }) => { const highlightText = (text: string) => { if (!searchKeyword) return text - const parts = text.split(new RegExp(`(${searchKeyword})`, 'gi')) + + // Escape special characters in the search keyword + const escapedKeyword = searchKeyword.replace(/[.*+?^${}()|[\]\\]/g, '\\$&') + const parts = text.split(new RegExp(`(${escapedKeyword})`, 'gi')) + return parts.map((part, i) => part.toLowerCase() === searchKeyword.toLowerCase() ? {part} : part )