Ich suche eine function (oder irgendetwas, das das "tut") die Nachnamen auf die Initialen abkürzt, wobei aber variabele Namen berücksichtigt werden sollten.
Hans Müller - Hans M. (das geht mit explode und substr - aber nur für fest vorgegebene Anzahl an Namen)
aber das?
Hans Meier-Müller - Hans M.-M.
Hans von Müller - Hans v. M.
Hans von Müller Meier - Hans v. M. M.
Funktion (o.ä.) für Name <-> Initiale
-
-
Du vergisst, dass es auch noch zweite Vornamen gibt, einfach wird das also nicht. Obs so ein Script schon gibt? Schon gegooglet? Schon auf phpclasses.org gewesen?
-
Es gibt auch dritte und vierte und fünfte Vornamen. Das kann keine Klasse oder Funktion in der Form realisieren. Theoretisch könntest du Listen mit Vor- und Nachnamen anlegen und die Bestandteile abgleichen. Da dürfte aber zum einen die Erstellung der Listen schon eine Sisyphus-Arbeit sein, zum anderen gibt es auch Namen die sowohl Vor- als auch Nachname sein können, also wäre nichtmal damit alles eindeutig abgedeckt.
Wenn es um Nutzer eines Systems geht solltest du einfach zwei Felder verwenden, Vor- und Nachname, und diese auch getrennt abspeichern, damit wäre das dann am simpelsten geklärt.
Falls es nicht um Namen aus dem System geht könntest du höchstens einen Kompromiss eingehen indem du sagst, der erste Name wird ausgeschrieben, alle Folgenden auf den Anfangsbuchstaben gekürzt. Dafür kommst du dann auch mit explode und substr aus. -
klar hab ich schon gegoogelt
Diese Funktion kürzt mir variabel viele Nachnamen auf den jeweils ersten Buchstaben zurück
PHPfunction initials($name){ $nword = explode(" ",$name); foreach($nword as $letter){ $new_name .= $letter{0}.'.'; } return ($new_name); } echo initials($name);
aber auch nur, wenn zwischen den Namen "nur" Leerzeichen sind.
Hier geht es darum, wie der Nachname angezeigt wird (nicht User, sondern Besitzer eines Hundes). Sieht nämlich schon blöd aus wenn dort steht "Hans v." (für Hans von Müller). Der oder die eingegebenen Vornamen werden grundsätzlich vollständig angezeigt, nur bei dem Nachnamen soll die Wahl bleiben ob vollständig oder abgekürzt. Vor- und Nachname werden getrennt gespeichert, ebenso ein weiteres Feld mit dem zusammengesetzen Namen (Anzeigename). -
naja du müsstest mal herausfinden, welche bindeworte es in namen gibt, die alle in ein array und wenn der wert vom explode nicht in diesem worte-array ist dann kürzt du ihn ab