[英]angular js highlighter filter highlight text and change text also
我的高光滤镜
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;
};
});
更改是带有ig reg表达式的RegExp中带有空格的模式搜索文本
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.