(PHP 4, PHP 5)
preg_split — 정규 표현식에 따라 문자열을 나눔
정규 표현식에 따라서 주어진 문자열을 나눕니다.
검색할 패턴 문자열.
입력 문자열.
지정하면, limit 회까지 나눠진 문자열을 반환하며, limit 가 -1이면 "무제한"을 의미합니다. 이 값은 flags 를 지정할 때 유용합니다.
flags 는 다음 플래그들을 조합할 수 있습니다 (bitwise | 연산자로 조합합니다) :
이 플래그를 설정하면, 문자열의 시작 위치도 반환합니다. 반환값이 매치된 문자열을 오프셋 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, -1, PREG_SPLIT_NO_EMPTY);
print_r($chars);
?>
Example #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 ) )
정규 표현식의 힘이 필요하지 않으면, 더 빠른(그리고 간단한) explode()나 str_split()로 대체할 수 있습니다.