Busco una función de capitalizar adecuadamente nombres como McDonald, FitzGerald, MacArthur, O'Lunney de, Theo de Raadt, etc.¿Alguien tiene una función de PHP para capitalizar correctamente los nombres de las personas?
¿alguien sabe de uno que funcione bien razonables? Supongo que cualquier función no va a apoyar todas las posibilidades.
Por supuesto, ucwords solo no funciona para esto porque simplemente escribe en mayúscula la primera letra de cada palabra.
Editar: Sé que habrá problemas y no se admitirán todas las posibilidades. Pero el problema ahora es que tengo una base de datos de alrededor de 50 000 nombres que en su mayoría están escritos en mayúsculas y sería un fastidio tener que editar cada uno sin ocasionar errores ortográficos. Tener un script que cause un problema con un 20% sería mucho más rápido y provocaría muchos menos errores.
Puede que no tenga mucha suerte con esta pregunta ya que algunos nombres no siempre se escriben en mayúscula en la forma en que cree que deberían ser. Por ejemplo, he visto Fitzgerald con mucha más frecuencia que FitzGerald. ¿Y quién puede decir que no debería ser un nombre con guiones, como Fitz-Gerald? – Tim
¿Qué hay aquí? y también, muchos nombres holandeses (por ejemplo) no tienen todos los primeros caracteres en mayúscula, como "Theo de Raadt". – MSpreij