Php regex und Array
Hallo zusammen,
ich benötige dringen hilfe mit php, regex und einem Array.
Ich habe eine Textdatei in der eine passage mit folgendem Beispiel wäre:
Diese werden mit der Regex ausgewertet:
Nun möchte ich die Beiden treffen in der reihenfolge N E einer variablen hinzufügen $koordinaten damit ich diese in eine DB importieren kann. Leider sind bei mir immer leere Werte vorhanden =(
Gruß Thomas
ich benötige dringen hilfe mit php, regex und einem Array.
Ich habe eine Textdatei in der eine passage mit folgendem Beispiel wäre:
Koord. WGS E : 10.7093582209
Koord. WGS N : 49.4588699688
Diese werden mit der Regex ausgewertet:
/Koord[\.\s]+WGS\s+(?P<direction>[NE])[\s:]+(?P<coordinate>[0-9\.]+)
Nun möchte ich die Beiden treffen in der reihenfolge N E einer variablen hinzufügen $koordinaten damit ich diese in eine DB importieren kann. Leider sind bei mir immer leere Werte vorhanden =(
Gruß Thomas
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 322389
Url: https://administrator.de/contentid/322389
Ausgedruckt am: 25.11.2024 um 20:11 Uhr
5 Kommentare
Neuester Kommentar
Moin,
klar:
Jetzt musst du nur noch dafür sorge tragen, dass deine Koordinaten in der Richtigen reihenfolge sind. Dafür kannst du entweder oben in dem mehrzeiligen Regex bei einem eintrag die gegenkoordinaten entfernen oder vor der Verarbeitung die Reihenfolge mit einem if prüfen
Gruß
Chris
klar:
if (preg_match("^Koord\.\s+WGS\s+([NWES])\s+:\s+(\d+(?:\.\d+)?)\nKoord\.\s+WGS\s+([NWES])\s+:\s+(\d+(?:\.\d+)?)", $alarmfax, $treffer)) {
$koordinaten = trim($treffer[2]) . " " . trim($treffer[1] . ", " . $treffer[4] . " " . $treffer[3]);
}
Jetzt musst du nur noch dafür sorge tragen, dass deine Koordinaten in der Richtigen reihenfolge sind. Dafür kannst du entweder oben in dem mehrzeiligen Regex bei einem eintrag die gegenkoordinaten entfernen oder vor der Verarbeitung die Reihenfolge mit einem if prüfen
Gruß
Chris
Moin,
mit Reihenfolge meine ich ob längen oder breitengrad in der Eingabe zuerst kommen
Und warum der code nicht greift, kann daran liegen, dass dein Input nicht zum Regex passt, der davon ausgeht, dass du ein Textdokument mit dem Input hast, wo dieser nicht als erstes Zeichen steht? bzw. Zeile für Zeile eingekippt wird? Dann ergeben sich da natürlich Probleme
Gruß
Chris
mit Reihenfolge meine ich ob längen oder breitengrad in der Eingabe zuerst kommen
Und warum der code nicht greift, kann daran liegen, dass dein Input nicht zum Regex passt, der davon ausgeht, dass du ein Textdokument mit dem Input hast, wo dieser nicht als erstes Zeichen steht? bzw. Zeile für Zeile eingekippt wird? Dann ergeben sich da natürlich Probleme
Gruß
Chris