ფუნქცია mb_strlen

ფუნქცია mb_strlen აბრუნებს სიმბოლოების რაოდენობას სტრიქონში, კორექტულად მუშაობს მრავალბაიტიან კოდირებებთან (მაგალითად, UTF-8). strlen-ისგან განსხვავებით, ის სწორად ითვლის სიმბოლოებს, რომლებიც რამდენიმე ბაიტს იკავებენ. პირველ პარამეტრად იღებს სტრიქონს, მეორე (არასავალდებულო) - კოდირებას.

სინტაქსი

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,
    რომელიც აბრუნებს სტრიქონის სიგრძეს ბაიტებში
  • ფუნქცია mb_substr,
    რომელიც ამოჭრის ქვესტრიქონს კოდირების გათვალისწინებით