我想正常化(所以規範化)的字符串進入正常形式的名稱: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