2012-03-13 2 views
0

여러 대체에 대해 하나의 패턴을 사용할 수있는 가능성이 있는지 누군가가 알 수 있습니까? 패턴 및 대체 배열이 있고 배열에서 순차적으로 일치하는 항목을 찾으려고합니다. 처럼 일치 => 배열 [0] 일치 => 배열 [1] 등등. 감사합니다PHP에서 preg_replace 사용

답변

1

내가 콜백와 preg_replace와 함께 갈 것 :

preg_replace_callback('/pattern/', function() { 
    static $replacements = array('foo', 'bar', 'baz'); 
    return array_shift($replacements); 
}, $subject); 

이후의 각 경기는 교체 배열에서 다음 항목을 얻을 것이다.

+0

감사합니다, 이것이 내가 필요한 것 같습니다. –

+0

한 번 더, 콜백 함수에서 정적 배열을 만들지 않고 매개 변수를 통해 전달하는 방법은 무엇입니까? 'preg_replace_callback ($ pattern, function ($ arr) {....}, $ subject)와 같은 배열을 전달하면 이전과 같은 값을 얻을 수 있습니다. ?? –

+1

클로저 측면을 사용하면 '..., function() use ($ arr) {...}, ...'등의 작업을 수행 할 수 있습니다. – deceze