
preg_replace_callback 함수의 callback 함수 내에서 전역 변수를 사용하는 것은 좋지 않습니다. 전역 변수를 사용하면 callback 함수가 여러 번 호출될 때마다 전역 변수의 값이 변경되어 예상치 못한 결과가 발생할 수 있습니다.
callback 함수 내에서 전역 변수를 사용하지 않고 문자열을 치환하는 방법은 다음과 같습니다.
#hostingforum.kr
php
function callback($match) {
$전역변수 = '값';
// 전역 변수를 사용하지 않고 치환할 문자열
return '치환할 문자열';
}
$string = '원본 문자열';
$결과 = preg_replace_callback('/원본 문자열/', 'callback', $string);
echo $결과;
위의 예제에서 callback 함수 내에서 전역 변수를 사용하지 않고 치환할 문자열을 직접 반환합니다.
또 다른 방법은 callback 함수 내에서 전역 변수를 사용하지 않고 치환할 문자열을 함수의 인수로 전달하는 것입니다.
#hostingforum.kr
php
function callback($match, $전역변수) {
// 전역 변수를 사용하지 않고 치환할 문자열
return '치환할 문자열';
}
$string = '원본 문자열';
$결과 = preg_replace_callback('/원본 문자열/', function($match) { return callback($match, '값'); }, $string);
echo $결과;
위의 예제에서 callback 함수 내에서 전역 변수를 사용하지 않고 치환할 문자열을 함수의 인수로 전달합니다.
2025-06-26 18:48