[PHP] mb_substr 로 한글 문자열을 깨지지 않고 안전하게 분리하기


[PHP] mb_substr 로 한글 문자열을 깨지지 않고 안전하게 분리하기




최초 작성일 : 2023-09-10 | 수정일 : 2023-09-10 | 조회수 :

PHP의 mb_substr 함수는 멀티바이트 문자열을 안전하게 자를 수 있게 해주는 함수이다.
이 함수는 UTF-8 또는 기타 멀티바이트 문자열 인코딩을 사용할 때 특히 유용한다.
한글은 멀티바이트 문자열에 속하므로, mb_substr을 사용하면 한글을 안전하게 자를 수 있다.

mb_substr 함수를 사용하는 방법은 다음과 같다.

1. 기본 사용법

php
$string = '안녕하세요., Mblog.kr 입니다.
'
;
$substring = mb_substr($string, 0, 5, 'utf-8');
echo $substring; // 출력: 안녕한다

함수 파라미터 설명:

  1. $string: 자를 문자열이다.
  2. 0: 시작 위치이다.
    0부터 시작하므로, 위 예제에서는 문자열의 처음부터 시작한다.
  3. 5: 반환할 문자의 길이이다.
    위 예제에서는 문자열의 처음부터 5개의 문자를 반환한다.
  4. 'utf-8': 사용할 문자열의 인코딩이다.
    한글을 처리할 때는 주로 'utf-8'을 사용한다.

2. 안전한 문자열 자르기:

만약 문자열을 특정 길이까지 자르고, 그 이후에는 '...' 같은 접미사를 붙이고 싶다면, 아래와 같이 할 수 있다.

php
function safe_substr($str, $length, $suffix = '...') {
   if (mb_strlen($str, 'utf-8') <= $length) {
     return $str;
   }
   return mb_substr($str, 0, $length, 'utf-8') . $suffix;
}

$string
= '안녕하세요., Mblogkr 이다.
'
;
echo safe_substr($string, 5); // 출력: 안녕한다...

이 방법을 사용하면, mb_substr 함수를 활용하여 한글이나 기타 멀티바이트 문자열을 안전하게 자를 수 있다.

Tags  #PHP  #mb_substr  #한글문자열자르기  

닉네임:
댓글내용: