【Laravel】Laravel5.7のヘルパーを一気に勉強(8) – 文字列その2




Laravelの文字列に関するヘルパーその2です。

Str::kebab()

文字列をケバブケースに変換します。
スネークケースなど変換されない場合もあります。

echo Str::kebab('I have a pen');
// i-have-a-pen
echo Str::kebab('IHaveAPen');
// i-have-a-pen
echo Str::kebab('i_have_a_pen');
// i_have_a_pen ←スネークケースは変わらない

preg_replace_array()

第3引数の文字列に対して第一引数の条件にマッチする箇所を第二引数の配列を順に適用していきます。
第二引数が足りない場合はから文字が適用されます。

$str = ':aaa :bbb ccc ddd eee';
$result = preg_replace_array('/:[a-z_]+/', ['111', '222'], $str);
// 111 222 ccc ddd eee
// 第二引数が足りない場合は足りない分はから文字になる
$result = preg_replace_array('/:[a-z_]+/', ['111'], $str);
// 111  ccc ddd eee
// 第二引数が多い場合は無視される
$result = preg_replace_array('/:[a-z_]+/', ['111', '222', '333'], $str);
// 111 222 ccc ddd eee

Str::snake()

文字列をスネークケースに変換します。
ケバブケースなど変換されない場合もあります。

echo Str::snake('I_have_a_pen');
// i_have_a_pen
echo Str::snake('i-have-a-pen');
// i-have-a-pen
echo Str::snake('i_have_a_pen');
// i_have_a_pen

Str::startsWith()

第一引数で指定した文字列は第二引数で指定した文字列で始まるかチェックします。

echo Str::startsWith('I have a pen', 'I');
// true
echo Str::startsWith('I have a pen', 'You');
// false

Str::after()

第一引数の文字列中に第二引数で指定した文字列が含まれる場合、第二引数の文字列以降の文字列を返します。
第二引数の文字列を含まない場合、第一引数の文字列を返します。

echo '[' . Str::after('I have a pen', 'I have') . ']';
// [ a pen]
echo '[' . Str::after('I have a pen', 'i have') . ']';
// [I have a pen]