Written by
Ari Kim
on
on
php 한글 문자열 자르기
한글 문자열을 자를 때 그냥 substr
함수를 자르면 글자가 깨지는걸 보신 적이 있을거에요 !
mb_substr
로 한글을 안전하게 자릅시다 ..!
1. mb_strlen
$string = '동해물과 백두산이 마르고 닳도록';
echo strlen($string);
// result 45
echo mb_strlen($string, 'UTF-8');
// result 17
글자수는 14글자 이고 공백이 3칸 이네요.
mb_strlen
을 쓰면 한글을 1글자로 표현해 줍니다.
영어는 1byte, 한글은 3byte 이기때문에 substr
로 사용할 경우 45가 출력됩니다.
보통 한글은 2byte 라고 알고있지만 euc-kr 에선 2byte, utf-8 에선 3byte 라고 하네요.
저도 이번에 검색하면서 처음 알았네요 ㅎㅎ
2. mb_substr
$string = '동해물과 백두산이 마르고 닳도록';
echo substr($string, 0, 8);
// 동해�
echo mb_substr($string, 0, 8, 'utf-8');
// 동해물과 백두산
substr
도 위의 설명과 내용이 같습니다.
3byte 기 때문에 애매하게 8글자로 자르면 글자가 잘려서 이상한 물음표가 따라옵니다. ( 보고싶지 않아요 ㅠㅠ ! )
mb_substr
은 공백포함 8글자가 예쁘게 잘립니다 :)
테스트 해 보시는게 온몸으로 와 닿아요 ..!
함께보면 좋은
Comments
PHP 의 다른 글
-
php 배열 정렬 13 Jun 2017
-
php 배열 첫번째 원소삭제 / 첫번째 원소추가 13 Jun 2017
-
php 배열에서 원하는 원소(값)만 제거하기 13 Jun 2017
-
PHP에서 ajax array, object 넘기고 받기 01 Jun 2017
-
PHP 확장자 추출 31 May 2017
-
PHP 실행 연산자 (Execution Operators) 31 May 2017
-
php 한글 문자열 자르기 10 Apr 2017
-
단어 가지고 놀기 - substr, str_replace, explode 29 Jun 2016
-
PHP MySQL 연동 27 May 2016
-
배열에서 중복된 값 제거 후에 순차적으로 재정렬 하는 법 27 May 2016