我用php中的'firstNameUser'替换first_name_user
。
我正在尝试这个
$key1 = preg_replace('/_([a-z]?)/', '\U\1', $key);
并且无效
答案 0 :(得分:3)
$key1 = preg_replace('/_([a-z]?)/e', 'strtoupper("$1")', $key);
但是,这会使用e
modifier some issues security implications而deprecated as of PHP 5.5.0仍为Caution。
Use of this modifier is discouraged, as it can easily introduce security vulnerabilites
更好用:
$key1 = preg_replace_callback('/_([a-z]?)/', function($match) {
return strtoupper($match[1]);
}, $key);
有关更多示例/代码和信息,请参阅this question和{{3}}。
答案 1 :(得分:0)
替代@roblll回答,如果你不想使用正则表达式,你可以使用:
$str = "some_underscored_text";
$new_str = lcfirst(str_replace(' ', '', ucwords(str_replace('_', ' ', $str))));
echo $new_str; // Outputs: someUnderscoredText