我正在构建一个应用程序,用户在其中突出显示并滚动到他们在搜索栏中写的文章中的单词。文章采用Markdown格式,我使用Markdown-it来呈现文章正文。
它运行良好,除非他们搜索的词是图像 URL 的一部分。它将正则表达式应用于它并图像中断。
applyHighlights() {
let str = this.article.body
let searchText = this.articleSearchAndLocate
const regex = new RegExp(searchText, 'gi')
let text = str
if (this.articleSearchAndLocate == '') {
return text
} else {
const newText = text.replace(
regex,
`<span id="searchResult" class="rounded-sm shadow-xl py-0.25 px-1 bg-accent font-semibold text-tint">$&</span>`
)
return newText
}
}
如果它是图像 URL,有没有办法排除应用正则表达式?