zipos Δημοσ. 1 Οκτωβρίου 2009 Δημοσ. 1 Οκτωβρίου 2009 Η παρακάτω συνάρτηση παίρνει ένα στριγκάκι και έναν ακέραιο αριθμό $chars. Στην περίπτωση που το στριγκ έχει πάνω από $chars χαρακτήρες, η συνάρτηση κόβει το στρινκ και κρατάει $chars το πλήθος χαρακτήρες, προσθέτοντας αποσιωπητικά "..." . >function shortText($str, $chars) { if (mb_strlen($str) > $chars) { $str = mb_substr($str, 0, $chars); $str = $str . "..."; return $str; } else { return $str; } } Μπορεί κανείς να εξηγήσει γιατί στο τέλος του στριγκ που επιστρέφει η συνάρτηση εμφανίζεται μερικές φορές ένας άγνωστος χαρακτήρας? (στον firefox εμφανίζεται ερωτηματικό)
miza Δημοσ. 1 Οκτωβρίου 2009 Δημοσ. 1 Οκτωβρίου 2009 Αν δουλεύεις με utf8, επειδή τα πράγματα μπερδεύονται όταν είναι Ελληνικά, δηλαδή κάποιος χαρακτήρας utf8 Ελληνικός μετρείται πάνω από 1, γενικά είναι περίεργη η επεξεργασία utf8.Θα σου πρότεινα να μετατρέψεις σε iso-8859-7 να κανεις τις απαραίτητες επεξεργασίες και μετά κάντο πάλι utf8. παράδειγμα μετατροπής > #utf8 σε iso $str=iconv('UTF-8','ISO-8859-7//TRANSLIT',$str); #iso σε utf8 $str=iconv('ISO-8859-7', 'UTF-8//TRANSLIT', $str);
zipos Δημοσ. 1 Οκτωβρίου 2009 Μέλος Δημοσ. 1 Οκτωβρίου 2009 Πράγματι, έριξα και μια ματιά στο site της php και είδα ότι έχουν ποστάρει παρόμοια σκριπτάκια για strlen και utf-8. Πιστεύω αυτό θα λύσει το πρόβλημα. Να σαι καλά
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.