Javascript 字符串荧光笔支持变音符号和重音符号

Javascript 字符串荧光笔支持变音符号和重音符号,javascript,jquery,highlight,diacritics,Javascript,Jquery,Highlight,Diacritics,您好,我之前发布了关于这个主题的问题,但没有人回答,所以我要举一个简单的例子来说明我想做什么 我创建了一个支持重音和变音的简单荧光灯,如下代码示例所示: <div id="text">selection مُحَمّد séléction SÉLÉCTION محمد محمد</div> .highlight { background-color:yellow; color:red; } //var input ="مُحَمّد"; var input = "

您好,我之前发布了关于这个主题的问题,但没有人回答,所以我要举一个简单的例子来说明我想做什么

我创建了一个支持重音和变音的简单荧光灯,如下代码示例所示:

<div id="text">selection مُحَمّد séléction SÉLÉCTION محمد محمد</div>

.highlight {
background-color:yellow;  
color:red;
}

//var input ="مُحَمّد";
var input = "SÉLÉCTION";

var t = $("#text").html();
var words =  t.split(' ');

function Normlise(s) {
                        var r=s.toLowerCase();
                       //var r=s;
                        r = r.replace(new RegExp("[\u064b-\u0653\u0670]", 'g'),"");
                        //r = r.replace(new RegExp("\\s", 'g'),"");
                        r = r.replace(new RegExp("[é]", 'g'),"e");
                        //r = r.replace(new RegExp("\\W", 'g'),"");
                        return r; 

                };


        var replacement = function(resultText) {
        var resultText="";
    for (var i=0; i < words.length; i++) {
        var strippedWord = Normlise(words[i]);
        var inputWord = Normlise(input);


           if (strippedWord == inputWord) {
           alert(strippedWord);

           resultText += ' '+"<span class='highlight'>"+ words[i]+"</span>"+' ';
           }            
           else 
           {
           resultText += ' '+ words[i]+' ';
           }
        }

         return resultText;
        }   

$("#text").replaceWith(replacement);
选择
.亮点{
背景颜色:黄色;
颜色:红色;
}
//风险值输入=“مُحَمّد”;
var input=“SÉLÉaction”;
var t=$(“#text”).html();
变量词=t.split(“”);
函数规范化(s){
var r=s.toLowerCase();
//var r=s;
r=r.replace(新的RegExp(“[\u064b-\u0653\u0670]”,'g'),“”);
//r=r.replace(新的RegExp(“\\s”,“g”),”);
r=r.replace(新的RegExp(“[é]”,'g'),'e”);
//r=r.replace(新的RegExp(“\\W”,“g”),”);
返回r;
};
变量替换=函数(resultText){
var resultText=“”;
for(var i=0;i
您可以在线检查脚本以了解其工作原理 现在,当我们要突出强调重音字符时,我们使用定义所有所需字符的类映射,但是如何使用组合标记,比如阿拉伯语中附加的一些字符,我们如何为其制作正确的正则表达式或类映射,而不是像上面的示例中那样将其剥离并进行比较最快方式的示例?? 谢谢