preg_replace_callback 함수
preg_replace_callback 함수는 콜백 함수를 사용하여 정규 표현식으로 검색하고 치환합니다. 첫 번째 매개변수로 정규 표현식을, 두 번째로 콜백 함수를, 세 번째로 처리할 문자열을 받습니다. 콜백 함수는 일치하는 항목의 배열을 받아 치환 문자열을 반환해야 합니다.
구문
preg_replace_callback(pattern, callback, subject, [limit], [count]);
예시
문자열의 모든 숫자를 제곱값으로 변경합니다:
<?php
$str = 'Numbers: 2, 4, 6';
$res = preg_replace_callback('/\d+/', function($matches) {
return $matches[0] * $matches[0];
}, $str);
echo $res;
?>
코드 실행 결과:
'Numbers: 4, 16, 36'
예시
모든 단어를 대문자로 변환합니다:
<?php
$str = 'hello world';
$res = preg_replace_callback('/\b\w+\b/', function($matches) {
return strtoupper($matches[0]);
}, $str);
echo $res;
?>
코드 실행 결과:
'HELLO WORLD'
예시
각 숫자 주위에 괄호를 추가합니다:
<?php
$str = '1 2 3 4 5';
$res = preg_replace_callback('/\d+/', function($matches) {
return '('.$matches[0].')';
}, $str);
echo $res;
?>
코드 실행 결과:
'(1) (2) (3) (4) (5)'
함께 보기
-
정규 표현식을 이용한 치환을 수행하는 함수
preg_replace,
-
정규 표현식 검색을 수행하는 함수
preg_match,