English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP 기본 강의

PHP 고급 강의

PHP & MySQL

PHP 참조 가이드

PHP preg_split() 함수 사용법 및 예제

PHP 정규 표현식 (PCRE)

preg_replace 함수는 정규 표현식으로 문자열을 분할합니다.

문법

array preg_split ( string $pattern , string $subject [, int $limit = -1 [, int $flags = 0 ]] )

주어진 문자열을 정규 표현식으로 분할합니다.

파라미터 설명:

  • $pattern: 검색할 패턴, 문자열 형식.

  • $subject: 입력 문자열.

  • $limit: 선택 사항, 지정된 경우 분할된 서브스트링의 최대 개수를 제한합니다. 반환된 마지막 서브스트링은 모든 남은 부분을 포함합니다. limit 값은-10이나 null이면 모두 "제한 없음"을 의미합니다. php의 표준으로, flags 설정을 건너뛰기 위해 null을 사용할 수 있습니다.

  • $flags: 선택 사항, 아래 표시의 조합(비트 혼합 |)이 될 수 있습니다]}

    • PREG_SPLIT_NO_EMPTY: 이 표시가 설정되면, preg_split()은 구분된 비어있지 않은 부분을 반환합니다。
    • PREG_SPLIT_DELIM_CAPTURE: 이 표시가 설정되면, 구분 패턴의 괄호 표현식이 포착되어 반환됩니다。
    • PREG_SPLIT_OFFSET_CAPTURE: 이 표시가 설정되면, 매칭이 발견될 때마다 문자열 위치가 추가되어 반환됩니다. 주의: 이는 반환 배열의 각 요소를 변경하여, 각 요소가 0번 요소가 구분된 부분,1각 요소는 subject에서 해당 부분의 위치를 구성하는 배열입니다。

반환 값

pattern으로 구분된 subject의 후속 부분을 구성하는 문자열 배열을 반환합니다。

온라인 예제

<?php
//콤마나 공백(" ", \r, \t, \n, \f)로 구분된 문구를 사용합니다
$keywords = preg_split("/[\s,]+/", "hypertext language, programming");
print_r($keywords);
?>

실제 결과는 다음과 같습니다:

Array
(
    [0] => hypertext
    [1] => language
    [2] => programming
)
<?php
$str = 'w3codebox';
$chars = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);
print_r($chars);
?>

실제 결과는 다음과 같습니다:

Array
(
    [0] => r
    [1] => u
    [2] => n
    [3] => o
    [4] => o
    [5] => b
)
<?php

$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
        )
)

PHP 정규 표현식 (PCRE)