【发布时间】:2021-09-03 09:52:37
【问题描述】:
以前曾询问过此问题的变体,但我找不到任何特定于我要查找的内容的内容。我对正则表达式很糟糕,我认为我的问题主要在于那里。我有一个简单的 Angular 指令(我在网上找到的,以前从未使用过指令),它突出显示我在后端 MySQL 存储过程的结果中搜索的任何字符串。问题是,它只有在我搜索一个词时才有效。
例如,如果我搜索“network”,它会将字符串“network”的每个实例包装在一个跨度中,并在我指向该指令的任何位置使用一个类。但是,如果我搜索“网络驱动器”,它不会突出显示任何内容,因为它正在专门寻找该字符串。
这是具有此功能的指令部分:
getFormattedText() {
const re = new RegExp(`(${this.searchedWord})`, 'gi');
return this.content.replace(re, `<span class="${this.classToApply}">$1</span>`);
}
我试图将searchedWord 设为一个字符串数组或一个字符串,然后将 span 元素应用于每个匹配的字符串,但结果却让事情变得更糟。
非常感谢任何朝着正确方向的推动。
谢谢!
【问题讨论】:
标签: angular regex search highlight angular-directive