Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript angular js highlighter过滤器高亮显示文本并同时更改文本_Javascript_Angularjs_Angular Filters - Fatal编程技术网

Javascript angular js highlighter过滤器高亮显示文本并同时更改文本

Javascript angular js highlighter过滤器高亮显示文本并同时更改文本,javascript,angularjs,angular-filters,Javascript,Angularjs,Angular Filters,我的高光过滤器 app.filter('highlightWord', function () { return function (isSectionData, selectedWord) { if (!isSectionData) return ''; // var items = selectedWord.split(" "); var items = selectedWord.trim().replace(/ OR /g, ' ').replace(/ AND /

我的高光过滤器

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;
};});
app.filter('highlightWord',函数(){
返回函数(isSectionData,selectedWord){
如果(!isSectionData)返回“”;
//var items=selectedWord.split(“”);
var items=selectedWord.trim().replace(/或/g')。replace(/和/g')。replace(/-/g')。replace(/-/g')。replace(/“/g'))。split(“”);
对于(变量i=0,len=items.length;i
这台荧光灯工作正常 但在某些情况下,它会改变我的HTML段落

就像我在突出显示搜索世界中搜索“MI”字一样,如“相似”,突出显示并将其更改为“相似”

是否有什么我需要更改以更正我的结果

代码的一些更改

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;
    };
});
app.filter('highlightWord',函数(){
返回函数(isSectionData,selectedWord){
如果(!isSectionData)返回“”;
//var items=selectedWord.split(“”);
var items=selectedWord.trim().replace(/或/g')。replace(/和/g')。replace(/-/g')。replace(/-/g')。replace(/“/g'))。split(“”);
对于(变量i=0,len=items.length;i
变化是 带ig reg表达式的正则表达式中带空格的模式搜索文本

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;
    };
});
app.filter('highlightWord',函数(){
返回函数(isSectionData,selectedWord){
如果(!isSectionData)返回“”;
//var items=selectedWord.split(“”);
var items=selectedWord.trim().replace(/或/g')。replace(/和/g')。replace(/-/g')。replace(/-/g')。replace(/“/g'))。split(“”);
对于(变量i=0,len=items.length;i
变化是 带ig reg表达式的正则表达式中带空格的模式搜索文本