幼兒園101教我們一些人:「你名字中的字母應該是小寫字母,大寫首字母。」然而在這個文學後的時代,人們如何以網絡形式輸入他們的名字似乎取決於他們的情緒,或太陽耀斑或什麼:所有大寫字母,全部小寫字母,混合,顛倒......任何人都知道一個優雅的函數來修復名稱情況?
從哲學上說,我說隨你!佔據你的名字,誰在乎。但我有強迫症患者更喜歡看數據規範化,標準化,可預測。所以我問你們,如果你已經看到了外殼體固定名稱的深思熟慮了PHP功能,即考慮到各種例外ucwords()
將完全屠夫,如:
- Sven-亞歷克斯西雅圖的人氣
- 羅納爾多McDonaldo
- Boopsie奧布萊恩
- JR鮑勃·多布斯
- 弗朗西斯德洛斯加託斯
- YungCheng李
那裏試圖容納這些字母反叛者的任何功能?
UPDATE
從廂式塔格羅賓訴G.的角度來看,不能有任何的腳本來統治他們。但我已經決定,名字完全以小寫或大寫字母輸入可能是一個很好的清理的候選人。因此,對於這些,我會做...
if ($name == strtoupper($name) || $name == strtolower($name)) {
$name = ucwords(strtolower($name));
}
這將是很容易修改此修復幾個可能的例外:破折號,省略號,「麥當勞」等就要犯錯誤,但是誰抱怨?不是那些以小寫字母輸入名字的溫順混蛋。
哦,等等,我的名字是小寫...
upvoted你的問題只是** J.R。鮑勃多布斯**。 – ocodo