PHP에서 mb_ereg_replace_callback() 함수는 정규식 검색을 수행하고 콜백을 사용하여 멀티바이트 지원으로 대체하는 데 사용됩니다. 문자열을 스캔하고 패턴과 일치시킨 다음 일치하는 텍스트를 콜백 함수의 출력으로 바꿉니다. 이 함수는 mb_ereg_replace()와 같습니다. 기능. PHP 5.4 이상 버전에서 지원됩니다.
구문
string mb_ereg_replace_callback(str $pattern, callback $callback, str $string, str $options)
매개변수
이 함수는 다음 4개의 매개변수를 받습니다. -
-
$패턴 − 이 매개변수는 정규식 패턴에 사용됩니다. 패턴에서 멀티바이트 문자를 사용할 수 있습니다.
-
$콜백 − 이 매개변수가 호출되어 주제 문자열에서 일치하는 요소의 배열을 전달하고 대체 문자열을 반환해야 합니다.
-
$string − 이 매개변수는 문자열을 확인하는 데 사용됩니다.
-
$options − 이 매개변수는 검색 옵션을 확인하는 데 사용됩니다.
참고 − 콜백 함수는 종종 mb_ereg_replace_callback()이 필요합니다. 한 곳에서. 익명 기능을 사용할 수도 있습니다. mb_ereg_replace_callback() 호출 내에서 콜백 선언 . 이를 사용하면 호출에 대한 모든 정보를 한 곳에서 사용할 수 있고 다른 곳에서는 사용되지 않는 콜백 함수 이름으로 함수 네임스페이스를 엉망으로 만들지 않습니다.
반환 값
mb_ereg_replace_callback() 결과 문자열에 대해 성공을 반환하거나 오류가 발생하면 False를 반환합니다. 문자열이 현재 인코딩에 유효하지 않으면 NULL을 반환합니다.
예시 1
<?php $result = "April Fools day is 04/01/2019\n"; $result.= "Next match is 12/24/2021\n"; // callback function function next_year($matches) { return $matches[1].($matches[2]+1); } echo mb_ereg_replace_callback( "(\d{2}/\d{2}/)(\d{4})", "next_year", $result); ?>
출력
April Fools day is 04/01/2020 Next match is 12/24/2022
예시 2
익명 기능 사용
<?php // anonymous function is used $result = "April Fools day is 04/01/2019\n"; $result.= "Next match is 12/24/2021\n"; echo mb_ereg_replace_callback( "(\d{2}/\d{2}/)(\d{4})", function ($matches) { return $matches[1].($matches[2]+1); }, $result); ?>
출력
April fools day is 04/01/2020 Next match is 12/24/2022
참고 − 예제 2에서는 익명 함수를 사용하고 콜백 함수를 제거했지만 출력은 그대로 유지됩니다.