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

时间:2014-03-30 17:25:21

标签: 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 = "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);

您可以在线查看脚本以了解其工作原理 http://jsfiddle.net/Aku4y/16/ 现在,当突出重音字符时,我们使用定义了所有需要的字符的类映射但是如阿拉伯语中的组合标记变音符号如何附加某些字符我们如何为它制作正确的正则表达式或类映射而不是剥离它并在上面的例子中比较它可以有人PLZ给我一个最快的方法的例子? 感谢

0 个答案:

没有答案