PHP如何将字符串中带有“-”的地方去掉“-”并将后面紧跟的字母转换为大写

allc
  • 4
新手上路,请多包涵


“ask-simple”转换为“askSimple”
“ask-simple-answer”转换为“askSimpleAnswer”

回复
阅读 4.6k
3 个回答
util
  • 3.2k
function camelcase($str){
    return    preg_replace_callback('/([-_]+([a-z]{1}))/i',function($matches){
        return strtoupper($matches[2]);
    },$str);
}
Oooooooo
  • 1.7k

来一个正则表达式版本的

preg_replace('/-([A-Za-z])/e',"strtoupper('$1')",$str)
function camelCase($value){

     $studly = ucwords(str_replace(array('-', '_'), ' ', $value));
     return str_replace(' ','',lcfirst($studly));
}

echo camelCase('ask-simple-answer');

“ask-simple-answer”转换为“askSimpleAnswer”

这个应该是camel case, 刚好想起laravel有这个函数, 稍作修改,抄过来了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进