php – 任何人都知道一个优雅的功能来修复名字?
幼儿园101教导我们中的一些人:“你的名字中的字母应该是小写的,以大写的第一个字母.”然而,在这个后文盲时代,人们如何在网络形式中输入他们的名字似乎取决于他们的心情,太阳耀斑或什么东西:所有大写,全部小写,混合,颠倒…
在哲学上,我说什么!占有你的名字,谁在乎.但我有OCD客户喜欢看到数据规范化,标准化,可预测.所以我问你们,如果你已经看到任何精心设计的PHP功能,用于修正名字,考虑到ucwords()将完全屠夫的各种异常,例如: > Sven-Alex Crumpet 在那里尝试容纳这些字母表反叛份子的任何功能? UPDATE if ($name == strtoupper($name) || $name == strtolower($name)) { $name = ucwords(strtolower($name)); } 修改这一点可能很容易,以修正一些可能的例外:破折号,撇号,“McD”等错误将会发生,但谁会投诉?不是那些以小写输入他们名字的温柔混蛋. 哦,等等,我的名字是小写的
这根本不可能.
名称的拼写因国家而异,如您在问题中所示.最简单的方法是找到最常见的拼写方式,这样可以将每个“单词”的每个第一个字母大写,即每个字符串前面加上一个空格,连字符,点或撇号. 这不能解决你所有的问题(永诚,麦当劳),也让你有其他的问题,但这是你会得到的. 比较: > Alex Van Halen(美国拼写) 没有解决这个问题的算法. This article说明了荷兰语的问题,这只是一种语言.对于世界上的每种语言,可能都有这样的文章. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |