PCRE 함수 목록
PHP Manual

preg_split

(PHP 4, PHP 5)

preg_split정규 표현식에 따라 문자열을 나눔

설명

array preg_split ( string $pattern , string $subject [, int $limit [, int $flags ]] )

정규 표현식에 따라서 주어진 문자열을 나눕니다.

인수

pattern

검색할 패턴 문자열.

subject

입력 문자열.

limit

지정하면, limit 회까지 나눠진 문자열을 반환하며, limit 가 -1이면 "무제한"을 의미합니다. 이 값은 flags 를 지정할 때 유용합니다.

flags

flags 는 다음 플래그들을 조합할 수 있습니다 (bitwise | 연산자로 조합합니다) :

PREG_SPLIT_NO_EMPTY
이 플래그를 설정하면, preg_split()에 의해 나눈 후 비어있지 않은 조각만을 반환합니다.
PREG_SPLIT_DELIM_CAPTURE
이 플래그를 설정하면, 구분자 패턴 안의 서브패턴도 검출하여 반환합니다.
PREG_SPLIT_OFFSET_CAPTURE

이 플래그를 설정하면, 문자열의 시작 위치도 반환합니다. 반환값이 매치된 문자열을 오프셋 0으로, 문자열 시작 위치를 오프셋 1로 가지는 배열을 원소로 갖는 배열로 변하는 점에 주의하십시오.

반환값

pattern 에 매치한 경계로 나눠진 subject 의 부분을 가진 배열을 반환합니다.

변경점

버전 설명
4.3.0 PREG_SPLIT_OFFSET_CAPTURE 추가
4.0.5 PREG_SPLIT_DELIM_CAPTURE 추가
4.0.0 flags 인수 추가

예제

Example #1 preg_split() 예제 : 검색 문자열의 일부만을 얻기

<?php
// " ", \r, \t, \n, \f를 포함하여
// 임의 갯수의 콤마와 스페이스로 구문을 나눕니다.
$keywords preg_split("/[\s,]+/""hypertext language, programming");
?>

Example #2 문자열을 구성 문자로 나누기.

<?php
$str 
'string';
$chars preg_split('//'$str, -1PREG_SPLIT_NO_EMPTY);
print_r($chars);
?>

Example #3 매치와 시작위치로 문자열을 나누기.

<?php
$str 
'hypertext language programming';
$chars preg_split('/ /'$str, -1PREG_SPLIT_OFFSET_CAPTURE);
print_r($chars);
?>

위 예제의 출력:

Array
(
    [0] => Array
        (
            [0] => hypertext
            [1] => 0
        )

    [1] => Array
        (
            [0] => language
            [1] => 10
        )

    [2] => Array
        (
            [0] => programming
            [1] => 19
        )

)

주의

Tip

정규 표현식의 힘이 필요하지 않으면, 더 빠른(그리고 간단한) explode()str_split()로 대체할 수 있습니다.

참고


PCRE 함수 목록
PHP Manual