Ähnliche Namen nach Muster

  • Hiho, ich hab mal wieder ein nerviges Problem ;)

    Für ein Tool welches ich momentan entwickle, möchte ich Daten aus einer alten Datenbank in meine neue DB importieren. Damit hab ich auch keine Probleme, leider wurde die alte Datenbank aber etwas schlampig geführt.

    In der alten Datenbank hab ich jetzt z.B. manche Einträge unter dem Namen "Muster, H." abgespeichert. Andere Einträge für die selbe Person sind aber unter "Muster H", also ohne die Sonderzeichen.

    Um das selbe Chaos in der neuen Datenbank zu vermeiden, möchte ich jetzt alle "doppelten" Einträge unter einem Namen nach dem Muster "Name, I." speichern. Andere Muster wie z.B. "Name Vorname" sollen beibehalten werden, ich möchte einfach die inkonsistente Verwendung der Sonderzeichen ausbügeln.

    Ich denke mit preg_replace_callback() sollte das relativ einfach machbar sein, komm aber atm auf nix. Ein Denkanstoss wäre deshalb sehr hilfreich =)


    Liebe Grüsse, und Danke im Voraus,
    -Lukas

  • mal nen anderer ansatz also gedanke.
    was wäre wenn du alle begriffe mit sonderzeichen in array 1 schreibst, alle ohne sonderzeichen in array 2
    dann durchläufste array 1 mit ner schleife und killst alle sonderzeichen, danach kombinierst du beide arrays und lässt halt die doppelten einträge einfach weg, bzw kannste bei nem doppelten eintrag ja dann weiterführende infos speichern oder whatever, also nen mehrdimensionales array bauen.

  • Danke für den Hinweis =) Der hat mich auf eine Idee gebracht, welche mein Problem elegant umgeht. Ich habe den Luxus, dass in der neuen DB noch keine Produktionsdaten sind, kann also die Namenskonvention noch problemlos ändern.

    Anstatt also die Namen nach dem Muster "Name, I." zu speichern, verwende ich "Name I.". So kann ich einfach alle Kommas killen. Der Punkt bei Initialen lässt sich dann wo nötig noch problemlos anhängen.