Gjest Slettet+98128394 Skrevet 9. april 2010 Del Skrevet 9. april 2010 Hei, har en mysql-database med feltene fornavn og etternavn. Navnene hentes fra en fil hvor hele navnet står i et felt. Jeg vil splitte fornavn og etternavn fra fila, og lagre i databasen. Det går greit så lenge personen bare har et fornavn og et etternavn, men når mange personer både har et ekstra fornavn og et ekstra etternavn, blir det verre. Har til nå brukt explode og delt på mellomrom: $navn = explode(" ", $rad); Dette funker når personen bare har to navn. At en person kan ha et fornavn og to etternavn, mens en annen person kan ha to fornavn og et etternavn, gjør det vanskelig å vite hvordan man skal få scriptet til å dele det inn riktig. Noen forslag på en smart løsning? Lenke til kommentar
masb Skrevet 9. april 2010 Del Skrevet 9. april 2010 (endret) Har ingen løsning, men én ting vet jeg, og det er at en person har bare ett etternavn. I navnet Knut Andreas Johnsen Knausgård, vil Knausgård være etternavn, mens de resterende navnene er å regne for fornavn. Endret 9. april 2010 av masb Lenke til kommentar
JohndoeMAKT Skrevet 9. april 2010 Del Skrevet 9. april 2010 (endret) Litt helt enkel utestet kode her full fart før jeg lager meg middag: $allNames = 'Brille Brillert Brillesen'; $allNames = explode(' ', $allNames); if (count($allNames) < 2) { throw new WTFBoyGotOnlyOneNameException2k(); } $familyName = array_pop($allNames); $givenName = implode(' ', $allNames); Dette krever dog at etternavn skrives sist, flere land her i verden skriver etternavn først, og derfor burde du egentlig gi denne oppgaven til bruker i stedet for å prøve å automatisere det. EDIT: Forklaring: Først gjør jeg listen om til en que, så popper jeg siste (FIFO) element fra køen og trunkerer de eksisterende elementene tilbake til en liste. Endret 9. april 2010 av JohndoeMAKT Lenke til kommentar
Gjest Slettet+98128394 Skrevet 10. april 2010 Del Skrevet 10. april 2010 Takk for gode tips. Da får jeg forsøke å holde meg til et etternavn og resten av navnene lagres som fornavn. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå