разрешить специальные символы и пробелы в jquery wordCount - PullRequest
1 голос
/ 17 февраля 2009

Я использую jquery DynaCloud с wordCount, чтобы создать динамическое облако тегов. У меня есть конкретные термины для включения в облако (хотя частота для каждого пользователя различна), и некоторые термины состоят из нескольких слов или содержат специальные символы ("&", "'", "" и т. Д.) Как часть срока.

Я разбиваю термины с конкретными блоками HTML:

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

в качестве примера.

Способ работы 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 Ответ

1 голос
/ 23 февраля 2009

Я получил это в конце концов. Я пытался использовать закодированные символы, похожие на то, что использовал первоначальный автор сценария (so c>=0 && c<=500). но я задумался над проблемой.

все это можно сделать с помощью простых глав, поэтому отредактируйте его так:

<code><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 = "'" || " " || "&"));
    },

и теперь все персонажи, которые мне нужны, появляются.

...