我在 PHP 中有一个字符串,MY_NEW_CLASS
我想将其转换为My_New_Class
.
这是否可以使用 preg_replace 或者我应该爆炸下划线上的字符串,strtolower 它,ucfirst 它,然后将它内爆在一起?
感谢您提供的任何帮助。
我在 PHP 中有一个字符串,MY_NEW_CLASS
我想将其转换为My_New_Class
.
这是否可以使用 preg_replace 或者我应该爆炸下划线上的字符串,strtolower 它,ucfirst 它,然后将它内爆在一起?
感谢您提供的任何帮助。
preg_replace
我认为它本身并不能真正做到这一点,但回调并不难:
$str = preg_replace_callback('/(?<=\b|_)./',
function ($m) { return strtoupper($m[0]); },
strtolower($str));
为什么使用正则表达式?
function camelize( $string ){
return strtoupper( $string{0} ) . strtolower( substr( $string, 1 ) );
}
function camelizeClass( $class ){
$parts = explode( '_', $class );
array_walk( $parts, function( &$value, $key ){
$value = camelize( $value );
});
return implode( '_', $parts );
}
echo camelizeClass( 'MY_NEW_CLASS' ); // My_New_Class