php – 任何人都知道一个优雅的功能来修复名字?

前端之家收集整理的这篇文章主要介绍了php – 任何人都知道一个优雅的功能来修复名字?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
幼儿园101教导我们中的一些人:“你的名字中的字母应该是小写的,以大写的第一个字母.”然而,在这个后文盲时代,人们如何在网络形式中输入他们的名字似乎取决于他们的心情,太阳耀斑或什么东西:所有大写,全部小写,混合,颠倒…

在哲学上,我说什么!占有你的名字,谁在乎.但我有OCD客户喜欢看到数据规范化,标准化,可预测.所以我问你们,如果你已经看到任何精心设计的PHP功能,用于修正名字,考虑到ucwords()将完全屠夫的各种异常,例如:

> Sven-Alex Crumpet
>麦当劳罗纳尔多
Boopsie O’Brien
> J.R.Bob Dobbs
> Francesca de los Gatos
>李永成

在那里尝试容纳这些字母表反叛份子的任何功能

UPDATE
从罗宾v.G.的货车点来看,没有任何脚本来统治他们.但是我已经决定,完全用低或大写的名字可能是很好的擦洗的候选人.所以对于这些,我会做…

if ($name == strtoupper($name) || $name == strtolower($name)) {
        $name = ucwords(strtolower($name));
    }

修改这一点可能很容易,以修正一些可能的例外:破折号,撇号,“McD”等错误将会发生,但谁会投诉?不是那些以小写输入他们名字的温柔混蛋.

哦,等等,我的名字是小写的

这根本不可能.

名称的拼写因国家而异,如您在问题中所示.最简单的方法是找到最常见的拼写方式,这样可以将每个“单词”的每个第一个字母大写,即每个字符串前面加上一个空格,连字符,点或撇号.

这不能解决你所有的问题(永诚,麦当劳),也让你有其他的问题,但这是你会得到的.

比较:

> Alex Van Halen(美国拼写)
> Alex van Halen(正确的荷兰语拼写)

没有解决这个问题的算法.

This article说明了荷兰语的问题,这只是一种语言.对于世界上的每种语言,可能都有这样的文章.

猜你在找的PHP相关文章