정규식(PCRE) preg_replace_callback_array
(PHP 7, PHP 8)
preg_replace_callback_array — 정규식 검색을 수행하고 콜백을 사용하여 바꾸기
설명
preg_replace_callback_array( array $pattern, string|array $subject, int $limit = -1, int &$count = null, int $flags = 0 ): string|array|null
이 함수의 동작은 콜백이 패턴별로 실행된다는 점을 제외하고 preg_replace_callback()과 유사합니다.
매개변수
pattern
- 연관 배열 매핑 패턴(키)을 callable(값)에 매핑합니다.
subject
- 검색하고 바꿀 문자열 또는 문자열이 있는 배열입니다.
limit
- 각
subject
문자열의 각 패턴에 대해 가능한 최대 대체. 기본값은-1
(제한 없음)입니다. count
- 지정된 경우 이 변수는 수행된 교체 수로 채워집니다.
flags
flags
는 일치 배열의 형식에 영향을 미치는PREG_OFFSET_CAPTURE
및PREG_UNMATCHED_AS_NULL
플래그의 조합일 수 있습니다. 자세한 내용은 preg_match()의 설명을 참조하십시오.
반환 값
preg_replace_callback_array()는 subject
매개변수가 배열이면 배열을 반환하고 그렇지 않으면 문자열을 반환합니다. 오류 시 반환 값은 null
입니다.
일치하는 항목이 발견되면 새 제목이 반환되고, 그렇지 않으면 subject
이 변경되지 않고 반환됩니다.
오류/예외
전달된 정규식 패턴이 유효한 정규식으로 컴파일되지 않으면 E_WARNING
이 발생합니다.
변경 로그
버전 | 설명 |
---|---|
7.4.0 | flags 매개 변수가 추가되었습니다. |
Examples
예제 #1 preg_replace_callback_array() 예제
<?php
$subject = 'Aaaaaa Bbb';
preg_replace_callback_array(
[
'~[a]+~i' => function ($match) {
echo strlen($match[0]), ' matches for "a" found', PHP_EOL;
},
'~[b]+~i' => function ($match) {
echo strlen($match[0]), ' matches for "b" found', PHP_EOL;
}
],
$subject
);
?>
위의 예는 다음을 출력합니다.
6 matches for "a" found 3 matches for "b" found
기타
- PCRE Patterns
- preg_replace_callback() - 정규식 검색을 수행하고 콜백을 사용하여 바꾸기
- preg_quote() - 정규 표현식 문자 인용
- preg_replace() - 정규식 검색 및 바꾸기 수행
- preg_last_error() - 마지막 PCRE 정규식 실행의 오류 코드를 반환합니다.
- 익명 함수