preg_split()
함수의 정의 및 사용법
preg_split()
함수는
문자열을 주어진 정규 표현식 패턴을 기준으로 나누어 배열로 변환하는 함수입니다.
이 함수는 특히 정규식을 활용한 문자열 분리, URL 분석 등의 작업에서 유용하게 사용됩니다.
한 번 더 확인하세요!
정규 표현식 패턴의 강력한 기능이 필요 없이 단순한 문자열을 기준으로 주어진 문자열을 분리한다면 explode()
함수나 str_split()
함수를 사용하는 것이 간단하고 성능도 더 빠릅니다.
preg_split()
함수의 형식은 다음과 같습니다.
구문
매개변수
$pattern |
필수. 분리할 때 사용할 정규 표현식 패턴입니다. |
---|---|
$subject |
필수. 분리할 대상 문자열입니다. |
$limit |
옵션. 최대로 분할될 수 있는 부분의 수를 나타냅니다. 기본값은 -1 로, 제한이 없음을 의미합니다. |
$flags |
옵션. 정규식 매칭에 대한 추가적인 옵션을 제어합니다. 기본값은 0 입니다.
| 비트 연산자와 결합할 수 있습니다.
|
반환 값
문자열을 주어진 정규 표현식 패턴을 기준으로 나누어 배열로 변환하여 반환합니다.
실패할 경우 false
를 반환합니다.
매개변수 $flags
에 따른 반환 값 예시
PREG_SPLIT_NO_EMPTY
빈 문자열을 결과로 포함하지 않습니다. 이 플래그를 사용하면 빈 문자열이 있는 경우 해당 결과가 배열에 포함되지 않습니다.
PREG_SPLIT_DELIM_CAPTURE
이 플래그를 사용하면 분할하는 구분자가 괄호()
로 묶인 표현식이면 구분자도 결과에 포함합니다.
PREG_SPLIT_OFFSET_CAPTURE
결과 배열에 각 요소의 시작 위치도 포함합니다. 이 플래그를 사용하면 결과 배열의 각 요소는 (문자열, 시작 위치) 쌍으로 구성됩니다.
활용 예제
preg_split()
함수는 다음과 같은 경우에 사용하면 편리하거나 유용합니다.
CSV 파일 파싱
CSV(comma-separated values) 파일에서 데이터를 추출할 때 preg_split()
함수를 사용할 수 있습니다. 예를 들어, 다음과 같은 CSV 문자열이 있다고 가정해 봅시다.
이제 쉼표(,
)와 줄바꿈(\n
)을 기준으로 데이터를 분할할 수 있습니다.
URL 파싱
URL에서 프로토콜, 호스트, 경로 등을 추출할 때 preg_split()
함수를 사용하면 유용합니다.
위의 코드 예제처럼 preg_split()
함수는 정규식을 사용하여 URL을 분할하는 데 유용할 수 있습니다. 예를 들어, 특정 패턴을 기준으로 URL을 세부 요소로 분할하려는 경우에 유용합니다.
참고로 인코딩된 쿼리 문자열을 디코딩하여 변수로 구문 분석하는데 사용하는 함수가 있습니다. parse_url()
함수입니다. 이 함수는 URL을 구성 요소별로 쉽게 분리하여 반환합니다. 이 방법은 URL에서 프로토콜, 호스트, 경로 등을 개별적으로 얻고 싶을 때 매우 편리합니다.
아래의 코드는 parse_url()
함수를 사용하여 URL을 구성 요소별로 분리하여 반환하는 간단한 예시입니다.
위의 두 URL 파싱 예제를 토대로 상황에 따라 URL 파싱은 적절한 방법을 선택하는 것이 중요하다는 것을 알 수 있습니다. 단순한 URL 파싱의 경우에는 parse_url()
함수를 사용하는 것이 더 바람직하고, 복잡한 분할이 필요한 경우에는 preg_split()
함수를 고려할 수 있습니다.