Детский сад 101 учит некоторых из нас, что: "Буквы от вашего имени должны быть строчными, с прописными буквами первой буквы". Однако в эту эпоху после грамотности, как люди вводят свои имена в веб-формах, похоже, зависит от их настроения, солнечных вспышек или чего-то еще: Все прописные, все строчные, смешанные, перевернутые...
Философски, я говорю все! Занимай свое имя, кто заботится. Но у меня есть клиенты OCD, которые предпочитают видеть нормализованные данные, стандартизированные, предсказуемые. Поэтому я прошу вас, ребята, если вы видели какие-либо хорошо продуманные PHP-функции для имен для исправления ошибок, которые учитывают различные исключения, которые ucwords()
будут полностью мясником, например:
- Sven-Alex Crumpet
- Роналду Макдональдо
- Boopsie O'Brien
- J.R. Боб Доббс
- Франческа де лос Гатос
- YungCheng Li
Любые функции, которые пытаются разместить этих повстанцев алфавита?
UPDATE
Из точки зрения Робин против Г., не может быть script, чтобы править ими всеми. Но я решил, что имена, введенные полностью в нижнем или верхнем регистре, являются вероятными кандидатами на хорошую чистку. Поэтому для них я сделаю...
if ($name == strtoupper($name) || $name == strtolower($name)) {
$name = ucwords(strtolower($name));
}
Было бы легко изменить это, чтобы исправить несколько вероятных исключений: тире, апострофы, "McD" и т.д. Ошибки будут сделаны, но кто будет жаловаться? Не кроткий ублюдок, который ввел свое имя в нижнем регистре.
О, подождите, мое имя в нижнем регистре...