0

我有一个包含英语单词和波斯语单词的 HTML 页面。我想知道如何检测英语单词并更改它们的颜色,以及检测波斯语单词并将它们的颜色更改为不同的颜色。

这些词是动态的,可以更改。我想通过 jQuery 或 JavaScript 检测它们并更改颜色。

例如,给定以下文本:

Hi سلام بر this این text can be برای اولین ...

我想用红色显示这些词:

Hi, This, Text, can, be, 

这些蓝色的词:

بر, سلام, این, برای, اولین 
4

2 回答 2

8

使用 char 码怎么样?

英文字母在前 255 个字符内,但波斯字母不在。

html

<p>Hi سلام بر this این text can be برای اولین.</p>

javascript

jQuery(function($) {
  $("p").each(function(){
        this.innerHTML = $(this).text().replace(/\S+/g, function (word) {
            var span = document.createElement("span");
            span.className = "word ";
            span.className += isEnglish(word) ? 'english' : '';
            span.className += isPersian(word) ? 'persian' : '';
            span.appendChild(document.createTextNode(word));
            return span.outerHTML;
        });
    });

    function isEnglish(word){
      return word.charCodeAt(0) < 255;
    }

    function isPersian(word){
      return word.charCodeAt(0) > 255;
    }
});

jsFiddle

于 2013-07-08T12:39:19.443 回答
2
于 2013-07-08T13:41:17.040 回答