允许在jquery wordCount中使用特殊字符和空格

时间:2009-02-17 20:31:20

标签: jquery parsing tokenize

我正在使用带有wordCount的jquery DynaCloud来创建动态tagcloud。 我有特定的术语要包含在云中(虽然每个用户的频率不同),有些术语是多个单词,或者有特殊字符(“&”,“'”,“”等)这个词的一部分。

我打破了特定html块的条款:

<pre><span class="tag">this isn't the last tag</span></pre>

作为一个例子。

wordCount的工作方式(据我所知)是只接受特定字符并分割单词之间的空格。

我一直在尝试编辑脚本以允许所有字符(包括特殊字符),并且仅在<span class=tag>上中断。

但是,似乎我所做的任何更改都没有任何效果。

知道如何更改此代码以获取标记之间的所有内容并打破标记吗?

//accept Latin-1 basic + Latin-1 extended characters
testChar: function(c) {
    return((c >=   0 && c <= 500)
        || (c >= 128 && c <= 151)
        || (c >= 160 && c <= 164)
        || (c >=  48 && c <=  57)
        || (c >= 224 && c <= 246)
        || (c >= 249 && c <= 255));
},

//split words
splitWords: function(words) {
    var w = new Array(), str = '';
    for(var i = 0, j = words.length; i < j; i++) {
        c = words.charCodeAt(i);
        if(this.testChar(c)) str += words.substring(i, i + 1);
        else {
            w.push(str);
            str = '';
        }
    }
}

1 个答案:

答案 0 :(得分:1)

我最终得到了这个。 我一直在尝试使用类似于脚本原始作者使用的编码字符(so c>=0 && c<=500)。但我在想这个问题。

这一切都可以用简单的字符来完成,所以编辑它来说

<pre>
    testChar: function(c) {
        return((c >= 97 && c <= 122)
            || (c >= 128 && c <= 151)
            || (c >= 160 && c <= 164)
            || (c >= 48 && c <= 57)
            || (c >= 224 && c <= 246)
            || (c >= 249 && c <= 255)
            || (c = "'" || " " || "&"));
    },

</pre>

现在我需要的所有角色都出现了。