LAMP

PHP 한글 문자열길이 2자릿수로 계산하기

영은파더♥ 2017. 9. 19. 10:39
728x90

PHP 한글 문자열길이 2자릿수로 계산하기


영문과 한글이 썩인 문자열을 strlen 이나 mb_strlen 함수로 글자길이 값을 구하면 원하지 않은 값을 가져옵니다.

예제)

$str = "abcd 가나다라";

echo strlen($str); // 17

echo mb_strlen($str, "utf-8"); // 9

strlen 은 utf-8 로 한글은 3byte 로 계산됩니다.

그리고 mb_strlen 으로 계산하면 1로 리턴됩니다.


한글을 2바이트로 계산하는 방법입니다.

$str = "abcd 가나다라";

$w_len = mb_strlen($str,"utf-8") + (strlen($str) - mb_strlen($str,"utf-8")) / 2;

echo $w_len; // 13

mb_strlen 값에 strlen 과 mb_strlen 으로 구한 값의 평균값을 더해주면 됩니다.


728x90
반응형