Συνάρτηση mb_strlen

Η συνάρτηση mb_strlen επιστρέφει τον αριθμό των χαρακτήρων σε μια συμβολοσειρά, λειτουργώντας σωστά με κωδικοποιήσεις πολλαπλών byte (για παράδειγμα, UTF-8). Σε αντίθεση με την strlen, μετράει σωστά τους χαρακτήρες που καταλαμβάνουν πολλά byte. Δέχεται ως πρώτη παράμετρο μια συμβολοσειρά και ως δεύτερη (προαιρετική) - την κωδικοποίηση.

Σύνταξη

phpmb_strlen(string, [encoding]);

Παράδειγμα

Μέτρηση μήκους συμβολοσειράς σε UTF-8:

php<?php
  $res = mb_strlen('Привет', 'UTF-8');
  echo $res;
?>

Αποτέλεσμα εκτέλεσης κώδικα:

php6

Παράδειγμα

Σύγκριση με την strlen για κυριλλικά:

php<?php
  $str = 'тест';
  echo 'strlen: ' . strlen($str) . '<br>';
  echo 'mb_strlen: ' . mb_strlen($str, 'UTF-8');
?>

Αποτέλεσμα εκτέλεσης κώδικα:

phpstrlen: 8
mb_strlen: 4

Παράδειγμα

Χρήση χωρίς καθορισμό κωδικοποίησης (η κωδικοποίηση λαμβάνεται από την mb_internal_encoding):

php<?php
  echo mb_strlen('abcde');
?>

Αποτέλεσμα εκτέλεσης κώδικα:

php5

Δείτε επίσης

  • τη συνάρτηση strlen,
    που επιστρέφει το μήκος της συμβολοσειράς σε byte
  • τη συνάρτηση mb_substr,
    που κόβει μια υποσυμβολοσειρά λαμβάνοντας υπόψη την κωδικοποίηση