角JS高亮过滤器高亮文本和更改文本也

角JS高亮过滤器高亮文本和更改文本也

问题描述:

enter image description here角JS高亮过滤器高亮文本和更改文本也

在这个荧光笔我的亮点过滤

app.filter('highlightWord', function() { 
return function (isSectionData, selectedWord) { 
    if (!isSectionData) return ''; 
    // var items = selectedWord.split(" "); 
    var items = selectedWord.trim().replace(/ OR /g, ' ').replace(/ AND /g, ' ').replace(/ - /g, '').replace(/-/g, '').replace(/"/g, '').split(' '); 
    for (var i = 0, len = items.length; i < len; i++) { 
     var pattern = new RegExp(items[i], "gi"); 
     if (isSectionData && items[i] != "") { 
      isSectionData = isSectionData.replace(pattern, '<span class="highlighted">' + items[i] + '</span>'); 
     } 
    } 
    return isSectionData; 
};}); 

工作正常 但在某些情况下,它改变了我的HTML段落

像我在突出显示的搜索世界中搜索'MI'字样,如'类似',并突出显示并将其更改为'siMIlar'

是否有我需要改变我的正确结果

的代码一些改变任何东西

app.filter('highlightWord', function() { 
return function (isSectionData, selectedWord) { 
    if (!isSectionData) return ''; 
    // var items = selectedWord.split(" "); 
    var items = selectedWord.trim().replace(/ OR /g, ' ').replace(/ AND /g, ' ').replace(/ - /g, '').replace(/-/g, '').replace(/"/g, '').split(' '); 
    for (var i = 0, len = items.length; i < len; i++) { 
     var pattern = new RegExp(' (' + items[i] + ')', "ig"); 
     if (isSectionData && items[i] != "") { 
      isSectionData = isSectionData.replace(pattern, function (match) { 
       return ' <span class="highlighted">' + match + '</span> '; 
      }); 
     } 
    } 
    return isSectionData; 
}; 

});

更改为 在RegExp中使用ig reg表达式搜索文本的空间格式