【问题标题】:Rangy expands for cyrillicRangy 扩展为西里尔字母
【发布时间】:2013-10-18 13:15:43
【问题描述】:

我正在使用Rangy plugin 和 textRange 模块,但出现了问题。然后我在这样的文本“расстояние {москва} геленджика”(括号中的选定文本)上使用 selection.expand('word') 将它扩展到相邻的单词,我得到这样的选定文本“{расстояние москва геленджика}” .但在这种情况下,我已经选择了一个单词!我只需要在 м{оск}ва 情况下扩展到 {москва}。

我该如何解决这个问题?导致此问题的不同语言之间有什么区别?

【问题讨论】:

    标签: selection rangy


    【解决方案1】:

    我answered this on the Rangy forum。如果该链接停止工作,这是我写的:


    默认设置为拉丁文,但您可以在expand() 方法中指定正则表达式。默认值为/[a-z0-9]+('[a-z0-9]+)*/gi,这是非常基本的,但作为英语的合理默认值提供。

    一个简单的例子:

    sel.expand("word", {
        wordOptions: {
            wordRegex: /[a-z0-9\u0400-\u04FF]+('[a-z0-9\u0400-\u04FF]+)*/gi
        }
    });
    

    我不是西里尔文专家,所以我只是在正则表达式的字符类中添加了一些西里尔文字符以进行说明。您可以使用XRegExp 及其Unicode plugin 做得更好:

    sel.expand("word", {
        wordOptions: {
            wordRegex: XRegExp("[\\p{L}\\d]+('[\\p{L}\\d]+)*", "gi")
        }
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-09-09
      • 1970-01-01
      • 2018-06-02
      • 1970-01-01
      • 2014-06-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多