Yedek maç keyfi bir fonksiyonu olan PHP'nin preg_replace

1 Cevap php

Ben "oof" ile "foo" tekrarlarını değiştirmek istediğinizi varsayalım:

$s = "abc foo bar";
echo preg_replace('/(foo)/', strrev("$1"), $s);

Instead of "abc oof bar" I get "abc 1$ bar". In other words, it's passing the literal string "$1" to the strrev() function, instead of the regex match, "foo".

Yukarıdaki kod, bu sorunu çözmek için en iyi yolu nedir?