سؤال

أنا أستخدم JQUERY DYNACLOUD مع WordCount لإنشاء Dynamic 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 = '';
        }
    }
}
هل كانت مفيدة؟

المحلول

حصلت على هذا في نهاية المطاف. كنت أحاول استخدام الأحرف المشفرة مماثلة لما المؤلف الأصلي للسيناريو المستخدمة (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>

والآن كل الشخصيات التي أحتاجها تظهر.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top