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