PHP의 mb_split() 함수는 정규 표현식을 사용하여 멀티바이트(multibyte) 문자열을 분할하는 함수입니다. 분할된 결과는 배열 형태로 반환되며, 한글·일본어·중국어처럼 2바이트 이상으로 구성된 문자를 안전하게 다룰 수 있어 단일 바이트 전용 함수보다 다국어 처리에 유리합니다.
문법
array mb_split($str_pattern, $str_string, int $limit = -1)
매개변수
mb_split() 함수는 아래 세 가지 매개변수를 받습니다.
$str_pattern − 문자열을 분할할 때 사용할 정규 표현식 패턴입니다.
$str_string − 분할 대상이 되는 입력 문자열입니다.
$limit − 선택 사항으로, 반환되는 배열 요소의 최대 개수를 지정합니다. 기본값은 -1이며, 이 경우 제한 없이 모든 분할 결과를 반환합니다.
반환 값
mb_split() 함수는 분할된 문자열 요소들을 배열(array)로 반환하며, 실행에 실패한 경우 false를 반환합니다.
예제 1
아래 예제는 공백 또는 쉼표(하나 이상 연속된 경우 포함)를 구분자로 하여 문자열을 분할합니다.
<?php
mb_internal_encoding("UTF-8");
// mb_split 함수로 문자열을 분할합니다
$string = mb_split(
"[ ]+", // 패턴
"Welcome to the PHP Tutorial" // 대상 문자열
);
print_r($string);
?>
실행 결과
위 코드를 실행하면 다음과 같은 출력 결과를 얻을 수 있습니다.
Array ( [0] => Welcome [1] => to [2] => the [3] => PHP [4] => Tutorial )
참고 사항
mb_split()은 PHP의 Multibyte String(mbstring) 확장 모듈이 활성화되어 있어야 사용할 수 있습니다.
분할 전
mb_internal_encoding("UTF-8")처럼 내부 인코딩을 지정해 두면 멀티바이트 문자가 깨지는 문제를 예방할 수 있습니다.패턴의 대소문자는 구분되므로, 대소문자를 무시하고 분할하려면 정규 표현식에
i수정자를 활용하는 방식을 검토해 보세요.