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,
    인코딩을 고려하여 부분 문자열을 추출함