2009-02-17 10 views
1

J'utilise jquery DynaCloud avec wordCount pour créer un tagcloud dynamique. J'ai des termes spécifiques à inclure dans le cloud (bien que la fréquence soit différente pour chaque utilisateur), et certains termes sont des mots multiples, ou ont des caractères spéciaux ("&", "'", "", etc.) une partie du terme.Autoriser les caractères spéciaux et les espaces dans jquery wordCount

Je Casser les termes avec des blocs html spécifiques:

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

comme exemple.

La façon dont wordCount fonctionne (pour autant que je sache) est de n'accepter que des caractères spécifiques et de diviser les espaces entre les mots.

J'ai essayé d'éditer le script pour autoriser tous les caractères (y compris spécial), et seulement casser sur le <span class=tag>.

Cependant, il ne semble pas que les modifications que je fais aient un quelconque effet.

Une idée comment modifier ce code pour obtenir tout ce qui est entre les balises et casser le 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 = ''; 
     } 
    } 
} 

Répondre

1

Je l'ai eu finalement. J'avais essayé d'utiliser des caractères codés similaires à ce que l'auteur original du script utilisé (so c>=0 && c<=500). mais j'étais trop penser au problème.

cela peut être fait avec chacters tout simplement, donc édité à dire

<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> 

et maintenant tous les personnages que je dois apparaître.