Je cherche une fonction pour capitaliser correctement les noms comme McDonald, FitzGerald, MacArthur, O'Lunney, Theo de Raadt, etc.Quelqu'un at-il une fonction PHP pour capitaliser correctement les noms des personnes?
Est-ce que quelqu'un sait d'un qui fonctionne bien? Je suppose que n'importe quelle fonction ne va pas supporter toutes les possibilités.
Bien sûr, ucwords seul ne fonctionne pas pour cela car il capitalise simplement la première lettre de chaque mot.
Editer: Je sais qu'il y aura des problèmes et toutes les possibilités ne seront pas supportées. Mais le problème à l'heure actuelle est que j'ai une base de données d'environ 50 000 noms qui sont pour la plupart entrés en majuscules et il serait pénible de devoir éditer chacun d'eux sans causer d'erreurs d'orthographe. Avoir un script qui provoque un problème avec 20% serait beaucoup plus rapide et entraînerait beaucoup moins d'erreurs.
Vous ne pouvez pas avoir beaucoup de chance avec cette question car certains noms ne sont pas toujours capitalisés de la façon dont vous pensez qu'ils devraient être. Par exemple, j'ai vu Fitzgerald beaucoup plus souvent que FitzGerald. Et qui dit que ça ne devrait pas être un trait d'union, comme Fitz-Gerald? – Tim
Ce qui est dit ci-dessous; et aussi, beaucoup de noms hollandais (par exemple) n'ont pas tous les premiers caractères en majuscule, comme "Theo de Raadt". – MSpreij