CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken |
20.02.2004, 15:00:46
|
Anfänger
|
|
Registriert seit: May 2002
Beiträge: 149
|
|
Kniffliger regulärer Ausdruck
Hallo,
ich möchte gerne per reg. Ausdruck eine Zeichenkette in 'Halle' und 'Ort' teilen. Leider gibt es verschiedene Arten der Darstellung. Bsp:
$string1 = "Puhdys Club, Köln";
$string2 = "Puhdys Club - Köln";
$string3 = "Puhdys-Club - Köln";
Wie sieht der reguläre Ausdruck aus, der mir 'Puhdys Club' als Halle und 'Köln' als Ort zurückgib?. Statt 'Köln' könnte der Ort natürlich auch 'Köln Kalk', 'Köln-Kalk' lauten.
|
20.02.2004, 15:12:00
|
SELFPHP Guru
|
|
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
|
|
naja, an der schnelle auseinander schneiden, wo der bindestrich links und rechts ein leerzeichen hat.
wenns aber auch ein komma sein kann, halt auch da schnibbeln.
|
20.02.2004, 15:13:16
|
|
Member
|
|
Registriert seit: Dec 2002
Ort: Soest
Beiträge: 623
|
|
Also es muss schon ein festes Muster vorliegen, sonst tut man sich auch mit RegEx's schwer. Wenn ein Bindestrich als Trennung und auch in den Namen vorkommen kann, wird's schwierig. Es sei denn bei der Trennung ist grundsätzlich ein Leerzeichen davor und dahinter und in den Namen nicht. Besteht nicht die Möglichkeit, im Vorfeld ein festes Trennzeichen zu nehmen und das in den Hallen- bzw. Städtenamen auszuschließen? Das Pipe-Symbol bspw.?
__________________
The internet is full of answers, even to never asked questions!
|
20.02.2004, 15:15:09
|
Anfänger
|
|
Registriert seit: May 2002
Beiträge: 149
|
|
Inzwischen habe ich selber ne Hilfslösung. Ich ersetze ' - ' (vor und hinter dem Bindestrich ist jeweils eine Leerstelle) durch ein Komma. Ein Komma kommt nicht als Bindestrich zwischen zwei Namen vor, um diese zu 'verknüpfen' ('Köln Kalk' wird nie 'Köln,Kalk' geschrieben, aber 'Köln-Kalk'). Ich hatte nur Probleme mit den zwei Funktionen des Bindestrichs. Wenn jemand das trotzdem mit Regex löst,... ich bin sehr interessiert.
|
20.02.2004, 15:25:41
|
|
Member
|
|
Registriert seit: Dec 2002
Ort: Soest
Beiträge: 623
|
|
Also wie ich schon schrieb, wenn als Trennung der Bindestrich von einem Leerzeichen umgeben wird und in den Namen nicht, kannst Du es so lösen:
Code:
preg_match('%^([wäöüß- ]+)( - )([wäöüß- ]+)$%',$string,$res);
$halle=$res[1];
$stadt=$res[3];
__________________
The internet is full of answers, even to never asked questions!
|
20.02.2004, 15:29:22
|
Anfänger
|
|
Registriert seit: May 2002
Beiträge: 149
|
|
Ja. Wir hatten wohl im selben Moment einen ähnlichen Gedanken. ;-) Du siehst, ich arbeite mich durch. :-) Dank Euch beiden für die schnelle Hilfe.
|
20.02.2004, 16:06:29
|
SELFPHP Guru
|
|
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
|
|
PHP-Code:
preg_match('%^([wäöüß- ]+)([ - |, ])([wäöüß- ]+)$%',$string,$res);
$halle=$res[1];
$stadt=$res[3];
geht das nicht auch so? im falle des kommas?
|
20.02.2004, 16:29:09
|
|
Member
|
|
Registriert seit: Dec 2002
Ort: Soest
Beiträge: 623
|
|
Sicher, müsste so gehen. Evtl. müssen um die beiden Trennungen noch runde Klammern, da bin ich mir jetzt aber nicht sicher.
Im Übrigen würde ich schon vorher dafür sorgen, dass die Datenstrings vernünftig formatiert sind. Dann hat man das Problem nachher erst gar nicht.
__________________
The internet is full of answers, even to never asked questions!
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 18:04:57 Uhr.
|