2017-10-16 19 views
1

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'로 변경하십시오.

내가 올바른 내 결과를 코드에

답변

0

일부 변경을 변경해야하는 것이 있습니다

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; 
}; 

});

변경 사항은 입니다. ig reg 표현식을 사용하여 RegExp에 공백이있는 패턴 검색 텍스트