PHP preg_filter() 함수
예시
문자열 목록에서 대괄호로 숫자를 묶습니다.
<?php
$input = [
"It is 5 o'clock",
"40 days",
"No
numbers here",
"In the year 2000"
];
$result =
preg_filter('/[0-9]+/', '($0)', $input);
print_r($result);
?>
정의 및 사용
이 preg_filter()
함수는 패턴 일치가 대체 문자열로 대체된 문자열 또는 문자열 배열을 반환합니다.
입력이 배열인 경우 이 함수는 배열을 반환합니다. 입력이 문자열이면 이 함수는 문자열을 반환합니다.
이 함수는 preg_replace()
한 가지 차이점이 있습니다. 패턴에 대한 일치 항목이 입력 문자열에서 발견되지 않으면 문자열이 반환 값에 사용되지 않습니다. 이 시나리오에서 입력이 배열 대신 문자열이면 함수는 null 을 반환합니다 .
대체 문자열은 \n 또는 $n 형식의 역참조를 포함할 수 있습니다. 여기서 n 은 패턴에 있는 그룹의 인덱스입니다. 반환된 문자열에서 \n 및 $n의 인스턴스는 그룹과 일치하는 부분 문자열로 대체되거나, \0 또는 $0이 사용된 경우 전체 표현식으로 대체됩니다.
통사론
preg_filter(pattern, replacement, input, limit, count)
매개변수 값
Parameter | Description |
---|---|
pattern | Required. Contains a regular expression indicating what to search for |
replacement | Required. A string which will replace the matched patterns. It may contain backreferences |
input | Required. A string or array of strings in which the replacements are being performed |
limit | Optional. Defaults to -1, meaning unlimited. Sets a limit to how many replacements can be done in each string |
count | Optional. After the function has executed, this variable will contain a number indicating how many replacements were performed |
기술적 세부 사항
반환 값: | 입력이 배열이면 교체된 문자열의 배열을 반환하고, 입력이 문자열이면 대체된 문자열을 반환하고, 입력이 문자열이고 일치하는 항목이 없으면 null을 반환합니다. |
---|---|
PHP 버전: | 5.3.0 |
❮ PHP RegExp 참조