我创建了此搜索功能突出显示术语和替换功能,但是我需要使用正则表达式来忽略而不是突出显示HTML标记。有人可以演示如何执行此操作并编辑我的正则表达式以使其正常工作吗? -需要在Chrome和Firefox中工作
return new RegExp('(</?[^>]*|&[^;]*)?(?![<>/_?.]|&)(' + term.replace(/[-/\\^$*+?.()|[\]{}]/g, '\\$&') + ')', 'gi');
};``` . ```const searchTermsInArray = this.state.searchKeyword.trim().split(' ');
searchTermsInArray.forEach(term => {
if (term.length) {
const regexp = this.regexpFormula(term);
newQuestion.qtiData.prompt = newQuestion.qtiData.prompt.replace(regexp, match => {
return `<span class="highlight">${match}</span>`;
});```
It hightlights and replaces fine, the issue is what I search p it removes the p and highlights the whole sentence not the search term.
答案 0 :(得分:0)
您可以使用此正则表达式忽略具有属性的所有HTML标记:
<\s*a[^>]*>|<\s*/\s*a>