정규식에 관해 묻는 또 다른 질문에 대한 응답으로 preg_replace_callback
함수 (PHP regex templating - find all occurrences of {{var}})를 내 문제의 해결책으로 사용했다고 들었습니다. 이 훌륭한 작동하지만 지금은 콜백 함수의 변수 범위 관련 질문이 있습니다.PHP 콜백 함수의 가변 범위
텍스트를 구문 분석하는 함수는 클래스의 일부이지만 사용하려는 데이터는 함수에 로컬로 저장됩니다. 그러나 콜백 함수에서이 데이터에 액세스 할 수 없다는 것을 발견했습니다.
'$this->callback_function'
을 통과
- 개인 수준의 함수로 콜백을 구현 : 여기에 지금까지 시도했던 방법이 있습니다 그것을 사용하는 함수 내에서 (아래 예 참조) 그러나 이것은 바람직 전역을 사용하지 않고 내가, 내 콜백 함수 내에서
$newData
에 액세스 할 수있는 방법에 관한callback_function
내부 중 하나 $newData
때문에이 범위에없는 어떤 아이디어를 작동하지 않았다 ?
많은 감사.
public function parseText($newData) {
...
function callback_function($matches) {
... //something that uses $newData here
}
...
preg_replace_callback('...', 'callback_function', $textToReplace);
}
안녕하세요, 감사합니다. –