Suggestions sur la correction des noms de peuples afin qu'ils soient correctement capitalisés

StackOverflow https://stackoverflow.com/questions/1625274

  •  06-07-2019
  •  | 
  •  

Question

Les utilisateurs de notre site Web saisissent souvent des informations erronées concernant leur nom et leur adresse. par exemple, tous les CAPS, tous les minuscules, etc.

Cela paraît beaucoup mieux si nous réglons leur cas, mais quelqu'un peut-il suggérer un bon moyen de le faire. Une approche simple consiste à mettre chaque mot en majuscule dans son nom, mais cela échoue lorsque vous traitez avec certains noms. Voici quelques exemples ...

  • bob mcdonald
  • sarah o'connor
  • M. PETE SMITH

et voici ce que je voudrais les transformer en

  • Bob McDonald
  • Sarah O'Connor
  • M. Pete Smith

J'utilise PHP si cela peut vous aider.

Était-ce utile?

La solution

Il n’existe pas de méthode correcte pour ce faire ou, plus précisément, chaque méthode que vous choisissez sera mauvaise.

Parfois, O'Connor sera habituellement orthographié par son propriétaire en tant que O'connor. Ou bien, quelqu'un aurait pu supposer que c'était O'Connor, alors qu'Oconnor, ou vice-versa. Parfois, McDonald est Mcdonald. Vous pouvez légalement avoir le nom "Bob Smith", où toutes les lettres sont en minuscules.

Je pense que la solution seulement que je ferais consiste à remplacer ALL-CAPS par la mise en majuscule d'une lettre. Autrement, laissez-le tranquille, car il est impossible de distinguer un orthographe cruddy de quelqu'un qui a décidé de vouloir un nom fou.

Autres conseils

Laissez-le tel quel. Si les utilisateurs ne se respectent pas assez pour écrire correctement leurs noms, pourquoi vous en soucier?

Cela dit, écrivez un sous-programme pour post-traiter les noms, il gérera des cas omniprésents.

  • Mettez en majuscule les premières lettres des mots à l'exclusion des mots non capitalisables tels que "von" et
  • Recherchez des modèles spécifiques et mettez à jour de manière personnalisée les mots correspondants (par exemple, mettez la troisième lettre en majuscule si le mot commence par "mc")

En raison de la complexité du problème, je pense que vous devrez recourir à l’édition manuelle des noms une fois l’algorithme de correction appliqué. Un utilisateur s'enregistre, le nom est post-traité, puis ajouté à une file d'attente de modération où vous le vérifiez et le mettez à jour si nécessaire avant qu'il ne soit utilisé et éventuellement imprimé sur des factures et des étiquettes de colis. Bien sûr, si vous êtes sûr de savoir ce que vous faites.

Et bien sûr, il y a des gens comme moi avec une majuscule au milieu de leur nom. Vous m'insulterez si vous essayez de le "corriger". Comme le dit 'Developer Art', si les gens ne se respectent pas assez pour écrire correctement leurs noms, ce n'est pas à vous de le corriger.

Vous pouvez utiliser $ name = ucwords (strtolower ($ name)); en PHP pour vous rapprocher de ce que vous voulez.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top