Düzenli ifadeler hakkında sorulan başka bir soruya yanıt olarak, benim soruna bir çözüm olarak preg_replace_callback
function (PHP regex templating - find all occurrences of {{var}}) kullanmak için söylendi. Bu harika çalışıyor, ama şimdi geri çağırma işlevleri değişken kapsamına ilişkin bir sorum var.
Metnini ayrıştırmak işlevi bir sınıfın bir parçası, ama ben kullanmak istediğiniz veri işlevi yerel olarak saklanır. Ancak, benim geri arama işlevi içinde bu verilere erişemez bulduk. İşte şimdiye kadar denedim yolu vardır:
'$this->callback_function'
callback parametresi olarak geçen, özel bir sınıf işlevi olarak geri arama uygulamak (çalışmıyor, php önemli bir hata var)- (Aşağıdaki örneğe bakınız) kullanır ama
$newData
callback_function
içeride kapsamında değildir çünkü bu da işe yaramadı işlevin içinde geri arama uygulamak
Any ideas as to how I can access $newData
inside my callback function, preferably without using globals?
Many thanks.
Ikinci girişimi (I madde noktadan sonra koydum düzgün biçimlendirmek değildir) için aşağıdaki Örnek
public function parseText( $newData ) {
...
function callback_function( $matches ) {
... //something that uses $newData here
}
...
preg_replace_callback( '...', 'callback_function', $textToReplace );
}