RegExp - komme nicht weiter

ElGrAnDiOs

Mitglied
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:
foreach($PLZ as $name) { 
      preg_match("/\b'.$name.'\b/isU", $Input); 
}

Ein Städtename kann so aussehen:

Code:
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
 
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.
 
durch die foreach schleife kann ich auch preg_match nutzen...
aber das suchen ist auch nicht wirklich mein problem, sondern eher die regular expression.
 
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.
 
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 :)
 
Mal eine Gegenfrage: Was soll damit erreicht werden?

Das bloße auffinden ob es vorhanden ist?
Die Positionen an denen es vorhanden ist?
 
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 :)
 
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.
 
Zurück