PHP 매뉴얼
이전 |  | 다음

# preg_split

(PHP 3>= 3.0.9, 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`는 다음 플래그들의 조합을 사용할 수 있습니다 (bitwise | 연산자로 결합합니다) :

`PREG_SPLIT_NO_EMPTY`

  이 플래그를 설정하면, preg_split()에 의해 비어있지 않은 (non-empty) 조각만을 반환합니다.

`PREG_SPLIT_DELIM_CAPTURE`

  이 플래그를 설정하면, delimiter 패턴 안의 서브패턴도 검출하고 반환합니다. 이 플래그는 4.0.5에서 추가되었습니다.

`PREG_SPLIT_OFFSET_CAPTURE`

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

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

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

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

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

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

`<?php $str = 'hypertext language programming'; $chars = preg_split('/ /', $str, -1, PREG_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
            )

    )

> 참고: `flags`인자는 PHP 4 베타 3에서 추가되었습니다.

참고: spliti(), split(), implode(), preg_match(), preg_match_all(), preg_replace().

이전 | 처음으로 | 다음
preg_replace | 위로 | qtdom Functions