我想正常化(所以规范化)的字符串进入正常形式的名称:PHP:规范化字符串
- 名字的第一个字母大写
这个困难是现在以第二名和第三名遵守此规定。
我的方法:
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公司比起来,完全:)
尝试'ucwords($字符串)' – thetaiko 2012-04-13 14:46:34
我完全不明白你为什么要摆在首位的爆炸'$ string'。 – hjpotter92 2012-04-13 14:47:07
你打算怎么处理像McVeigh这样的名字? – ceejayoz 2012-04-13 14:47:08