PHP中preg_replace怎么能换成preg_replace_callback

PHP中preg_replace怎么能换成preg_replace_callback
preg_replace('#{([a-z_0-9]+)}#Uei', "\$data[\1]", $data['setting']['url']['list']);

preg_replace_callback('#{([a-z_0-9]+)}#Uei',
    function ($matches) {
                    return "\$data[$matches[1]]";
    }, $data['setting']['url']['list']);

差不多这个意思

楼上说了。其实也就是调用一个处理函数就行了。

preg_replace_call_back('#{([a-z_0-9]+)}#Uei', function($m) use ($data) { return $data[$m[1]]; }, $data['setting']['url']['list']);