preg_filter 함수
함수 preg_filter는 문자열이나 문자열 배열에서 정규 표현식 검색 및 대체를 수행합니다. preg_replace와 달리, 일치 항목이 발견된 요소만 반환합니다. 첫 번째 매개변수는 정규 표현식을, 두 번째는 대체 문자열을, 세 번째는 처리할 문자열 또는 배열을 받습니다.
네 번째 선택적 매개변수로 각 요소의 최대 대체 횟수를 지정할 수 있습니다 (기본값은 -1로, "제한 없음"을 의미합니다).
다섯 번째 선택적 매개변수는 수행된 대체 횟수가 기록될 변수를 지정합니다.
구문
preg_filter(pattern, replacement, subject, [limit = -1], [count]);
예제
문자열의 모든 숫자를 'X' 문자로 대체해 보겠습니다:
<?php
$res = preg_filter('/\d/', 'X', 'a1b2c3');
var_dump($res);
?>
코드 실행 결과:
'aXbXcX'
예제
숫자를 '#'로 대체하여 문자열 배열을 처리해 보겠습니다:
<?php
$res = preg_filter('/\d/', '#', ['a1', 'b2', 'c', 'd4']);
var_dump($res);
?>
코드 실행 결과:
['a#', 'b#', 'd#']
예제
preg_replace와의 차이점을 보여드리겠습니다:
<?php
$input = ['a1', 'b2', 'c', 'd4'];
$res_filter = preg_filter('/\d/', '#', $input);
$res_replace = preg_replace('/\d/', '#', $input);
echo "Filter result: ";
var_dump($res_filter);
echo "Replace result: ";
var_dump($res_replace);
?>
코드 실행 결과:
Filter result: ['a#', 'b#', 'd#']
Replace result: ['a#', 'b#', 'c', 'd#']
관련 항목
-
정규 표현식으로 대체를 수행하는 함수
preg_replace -
정규 표현식 일치를 확인하는 함수
preg_match