我想将字符串规范化(因此规范化)为名称的正常形式:
- 名字的第一个字母是大写的
这样做的困难现在是使用第二名和第三名遵循此规则。
我的方法:
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 添加一些正则表达式时,它会是完整的:)