我有这行代码:
$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
调用而无法理解,我得到一些建议吗?
答案 0 :(得分:1)
从comments请求:
这应该适合你:
$from_uk_name = preg_replace("/^_/", "",
preg_replace_callback("/([A-Z]{1})/", function($m){
return "'_'" . strtolower($m[1]);
}, $from_name));