如何使用多次调用将preg_replace()转换为preg_replace_callback()?

时间:2015-03-24 19:16:56

标签: php preg-replace preg-replace-callback

我有这行代码:

$from_uk_name = preg_replace("/^_/", "", preg_replace("/([A-Z]{1})/e", "'_'.strtolower($property_name[1])", $from_name))

但是,由于我将服务器移至PHP 5.5.22并且preg_replace()已弃用,我需要将该行移至preg_replace_callback()但由于存在嵌套的preg_replace调用而无法理解,我得到一些建议吗?

1 个答案:

答案 0 :(得分:1)

comments请求:

这应该适合你:

$from_uk_name = preg_replace("/^_/", "",
            preg_replace_callback("/([A-Z]{1})/", function($m){
                return "'_'" . strtolower($m[1]);
            }, $from_name));