tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
9
ZUGRIFFE
368
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    ElGrAnDiOs ElGrAnDiOs ist offline Mitglied Bronze
    Registriert seit
    Oct 2002
    Beiträge
    47
    Hallo zusammen,

    habe probleme bei einer RegExp, bin auch noch ziemlich neu in dem Thema, aber vielleicht kann mir da jemand helfen.

    Ich habe ein Array mit Städtenamen ($Input) und ein anderes Array in welchem jede deutsche Stadt inkl. PLZ steht ($PLZ) und mit welchem ich meinen Städten gern ein PLZ zuweisen würde.
    Nun suche ich mittels preg_match() und folgender RegExp jede Stadt aus dem PLZ array in meinem Städtenamen array :

    PHP-Code:
    foreach($PLZ as $name) { 
          
    preg_match("/\b'.$name.'\b/isU"$Input); 

    Ein Städtename kann so aussehen:

    Code :
    1
    2
    3
    4
    5
    
    Kurt-Schwabe-Inst. fur Mess- und Sensortechnik, Meinsberg, Germany
    Duisburg Univ., Germany
    Kaiserslautern Univ., Germany
    Inst. of Optoelectron., German Aerosp. Res. Establ., Wessling, Germany
    Ulm Univ., Germany

    hoffe mir kann da jemand weiterhelfen, sehe da nich mehr ganz durch.

    gruß
    egd
     

  2. #2
    Avatar von saftmeister
    saftmeister saftmeister ist gerade online Der Saft sei mit dir
    tutorials.de Premium-User
    Registriert seit
    May 2006
    Ort
    There is no place like 127.0.0.1
    Beiträge
    3.521
    Hallo,

    du kannst ein Array nicht mit preg_match() durchsuchen. Ich glaube du suchst eher array_search. Versuch es erst mal selbst, und dann sehen wir weiter, wenn du noch Probleme damit hast.
     
    Grüße
    --
    Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)

  3. #3
    ElGrAnDiOs ElGrAnDiOs ist offline Mitglied Bronze
    Registriert seit
    Oct 2002
    Beiträge
    47
    durch die foreach schleife kann ich auch preg_match nutzen...
    aber das suchen ist auch nicht wirklich mein problem, sondern eher die regular expression.
     

  4. #4
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    PHP-Code:
    '/\b'.preg_quote($name'/').'\b/i' 
     
    Markus Wulftange

  5. #5
    Avatar von saftmeister
    saftmeister saftmeister ist gerade online Der Saft sei mit dir
    tutorials.de Premium-User
    Registriert seit
    May 2006
    Ort
    There is no place like 127.0.0.1
    Beiträge
    3.521
    Ich habe ein Array mit Städtenamen ($Input)
    Nun suche ich mittels preg_match() und folgender RegExp jede Stadt aus dem PLZ array in meinem Städtenamen array :
    Soweit so gut. Nun die Definitition von preg_match():

    int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags [, int $offset ]]] )

    Du kannst nicht das $Input-Array als zweiten Parameter an preg_match übergeben, da dies nur Strings akzeptiert.
     
    Grüße
    --
    Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)

  6. #6
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Verwende stattdessen preg_grep.
     
    Markus Wulftange

  7. #7
    ElGrAnDiOs ElGrAnDiOs ist offline Mitglied Bronze
    Registriert seit
    Oct 2002
    Beiträge
    47
    ah, sorry war mein fehler, hab vor lauter abstrahieren meinen code falsch abgeschrieben, ich übergebe als 2ten parameter natürlich nicht das $Input array sondern habe vorher noch eine forearch schleife für $Input laufen

    also das war wirklich nich das problem, habe nur probleme mit dem regexp
     

  8. #8
    Registriert seit
    Mar 2004
    Beiträge
    1.856
    Blog-Einträge
    2
    Mal eine Gegenfrage: Was soll damit erreicht werden?

    Das bloße auffinden ob es vorhanden ist?
    Die Positionen an denen es vorhanden ist?
     
    Gebe keine Hilfe per PN, Mail, Instant Messenger etc.
    und keine Copy&Paste-Lösungen - ein bisschen selbst nachdenken sollte drin sein. Konstruktivismus 4tw!


    MfG, Zod

    __________________
    rpd Framework: Rapid Web-Engineering in PHP (Manual | Google Code)

  9. #9
    ElGrAnDiOs ElGrAnDiOs ist offline Mitglied Bronze
    Registriert seit
    Oct 2002
    Beiträge
    47
    dadurch sollen datenbankeinträge harmonisiert werden, deren ortsangabe sehr heterogen ist. durch die zuordnung einer plz kann man ja im nachhinein alle ortsinformationen hinzufügen. da es sich aber um mehrer tausend datensätze handelt, würde ich das ganze gerne automatisieren
     

  10. #10
    Registriert seit
    Mar 2004
    Beiträge
    1.856
    Blog-Einträge
    2
    Hast du phpMyAdmin oder ähnliche Oberfläche für die Datenbank?

    CSV importieren in neue Tabelle.
    UPDATE von neuer zu alter Tabelle (WHERE `alte_tabelle`.`ort` = `neue_infos`.`ort`) und schon ist es drin.

    Wenn du deine die Struktur der zu erweiternden Tabelle offenbarst, dann kann man dir sagen ob es über diesen einfachen Weg möglich ist.
     
    Gebe keine Hilfe per PN, Mail, Instant Messenger etc.
    und keine Copy&Paste-Lösungen - ein bisschen selbst nachdenken sollte drin sein. Konstruktivismus 4tw!


    MfG, Zod

    __________________
    rpd Framework: Rapid Web-Engineering in PHP (Manual | Google Code)

Ähnliche Themen

  1. ImageResize - Komme da nicht weiter
    Von BitMan im Forum PHP
    Antworten: 3
    Letzter Beitrag: 27.03.10, 16:59
  2. komme nicht weiter!
    Von boennchen im Forum Javascript & Ajax
    Antworten: 4
    Letzter Beitrag: 04.10.05, 12:23
  3. Komme da nicht weiter :-(
    Von Yael_17 im Forum PHP
    Antworten: 22
    Letzter Beitrag: 05.12.04, 15:24
  4. Komme da nicht weiter :-(
    Von nizzan im Forum PHP
    Antworten: 6
    Letzter Beitrag: 28.11.04, 00:16
  5. Komme nicht weiter
    Von nixwisser im Forum ASP
    Antworten: 1
    Letzter Beitrag: 11.10.02, 12:14