LaravelやPHPに標準搭載されているいい感じの関数を使って文字列を自由自在に変換します。
Laravel5.8以降は文字列及び配列ヘルパー非推奨
use Illuminate\Support\Str;
Str
クラスを use
して使いましょう。
文字列をケバブケースにする
Str::kebab('fooBar'); // foo-bar
文字列をスネークケースにする
Str::snake('fooBar'); // foo_bar
文字列をキャメルケースに変換する
Str::camel('foo_bar'); // fooBar
キャメルノーテーションとも呼ぶ
文字列をパスカルケースに変換する
Str::studly('foo_bar'); // FooBar
アッパーキャメルケースとも呼ぶ
単数系の文字列を複数形に変換する
Str::plural('car'); // cars
Str::plural('child'); // children
複数形の文字列を単数系に変換する
Str::singular('cars'); // car
Str::singular('children'); // child
文字列をURLで使用可能な文字列に変換する
Str::slug('Laravel 5 Framework', '-'); // laravel-5-framework
補足: PHPの標準関数でできること
Laravelでも用意されてるものは合わせて紹介します。
文字列を小文字にする
strtolower('FOO_BAR'); // foo_bar
mb_strtolower('FOO_BAR'); // foo_bar
Str::lower('FOO_BAR'); // foo_bar
- https://www.php.net/manual/ja/function.strtolower.php
- https://www.php.net/manual/ja/function.mb-strtolower.php
- https://github.com/laravel/framework/blob/5.8/src/Illuminate/Support/Str.php#L253
文字列を大文字にする
strtoupper('foo_bar'); // FOO_BAR
mb_strtoupper('foo_bar'); // FOO_BAR
Str::upper('foo_bar'); // FOO_BAR
- https://www.php.net/manual/ja/function.strtoupper.php
- https://www.php.net/manual/ja/function.mb-strtoupper.php
- https://github.com/laravel/framework/blob/5.8/src/Illuminate/Support/Str.php#L421
文字列の最初の文字を大文字にする
ucfirst('foo bar'); // Foo bar
Str::ucfirst('foo bar'); // Foo bar
文字列の各単語の最初の文字を大文字にする
ucwords('foo bar'); // Foo Bar
Str::title('foo bar'); // Foo Bar