diff options
author | mayx | 2025-04-28 15:40:47 +0000 |
---|---|---|
committer | mayx | 2025-04-28 15:40:47 +0000 |
commit | 72ab43b411183b229c576f812b630edd8b285188 (patch) | |
tree | 21cac28bae3673dbd1b258a576286e87ed6b1f49 /assets/js | |
parent | 0f004698711c4da2f7be0a4b8cc798af89b380da (diff) |
Update 2 files
- /assets/js/main.js - /_posts/2025-04-04-search.md
Diffstat (limited to 'assets/js')
-rw-r--r-- | assets/js/main.js | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/assets/js/main.js b/assets/js/main.js index 889c1f0..644e2b6 100644 --- a/assets/js/main.js +++ b/assets/js/main.js @@ -56,11 +56,20 @@ $(function () { const regex = new RegExp(`(${escapedKeyword})`, 'gi'); // 递归遍历并高亮文本节点 + const escapeHTML = str => str.replace(/[&<>"']/g, + tag => ({ + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''' + }[tag] || tag)); function highlightTextNodes(element) { $(element).contents().each(function () { if (this.nodeType === Node.TEXT_NODE) { const $this = $(this); - const text = $this.text(); + const text = escapeHTML($this.text()); + // 使用正则替换并保留原始大小写 if (regex.test(text)) { const replaced = text.replace(regex, '<mark>$1</mark>'); |