js关键字标红,转换大小写

 highlightKeyWordsNewnew = (values) => {
        let str = values;
        const { synonym } = this.state;
        let newStr = values;
        if (synonym != '' && str) {
            for (let i = 0; i < synonym.length; i++) {
                let searchStr = synonym[i];
                // 大写
                let DasearchStr = searchStr.toUpperCase();
                let XiaosearchStr = searchStr.toUpperCase();
                if (
                    str.indexOf(searchStr) != -1 ||
                    str.indexOf(DasearchStr) != -1 ||
                    str.indexOf(XiaosearchStr) != -1
                ) {
                    searchStr = searchStr.toUpperCase();
                    newStr = this.replaceAll(newStr, searchStr, '∵' + searchStr + '∴');

                    searchStr = searchStr.toLowerCase();
                    newStr = this.replaceAll(newStr, searchStr, '∵' + searchStr + '∴');
                }
            }
            newStr = this.replaceAll(newStr, '∵', '<span style="color:#FF0000">');
            newStr = this.replaceAll(newStr, '∴', '</span>');
        }

        return <div dangerouslySetInnerHTML={{ __html: newStr }}></div>;
    };
    replaceAll = (item, sourceStr, newStr) => {
        let reg = new RegExp(sourceStr, 'g'); //g,表示全部替换。
        return item.replace(reg, newStr);
    };
posted @ 2021-02-22 16:53  闰土的土  阅读(332)  评论(0编辑  收藏  举报