文字列を名前の正規形に正規化(正規化)したい:
- 名前の最初の文字は大文字です
これによる難しさは、2番目と3番目の名前でこのルールに従うことです。
私の方法:
public function namilize($string)
{
$strings = explode(' ', $string);
foreach ($strings as $string) {
$string = ucfirst(strtolower($string));
}
$string = implode(' ', $strings);
return $string;
}
どういうわけか
$string = ucfirst(strtolower($string));
失敗します。
何を修正する必要がありますか?もっと良い方法はありますか?
よろしく
編集:
やあ、
コメントと回答をありがとうございました。私は別の「現代的な」方法を見つけました:
public function namilize($string)
{
$string = mb_convert_case($string, MB_CASE_TITLE, mb_detect_encoding($string));
}
私が今、それが完了するよりも、McとOの正規表現を追加するとき:)