SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



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



:: Buchempfehlung ::

Das Zend Framework

Das Zend Framework zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > PHP für Fortgeschrittene und Experten
Hilfe Community Kalender Heutige Beiträge Suchen

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 20.02.2004, 15:00:46
DiJae DiJae ist offline
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.
Mit Zitat antworten
  #2  
Alt 20.02.2004, 15:12:00
feuervogel feuervogel ist offline
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.
Mit Zitat antworten
  #3  
Alt 20.02.2004, 15:13:16
Benutzerbild von Yzerman
Yzerman Yzerman ist offline
Member
 
Registriert seit: Dec 2002
Ort: Soest
Beiträge: 623
Yzerman eine Nachricht über ICQ schicken
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!
Mit Zitat antworten
  #4  
Alt 20.02.2004, 15:15:09
DiJae DiJae ist offline
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.
Mit Zitat antworten
  #5  
Alt 20.02.2004, 15:25:41
Benutzerbild von Yzerman
Yzerman Yzerman ist offline
Member
 
Registriert seit: Dec 2002
Ort: Soest
Beiträge: 623
Yzerman eine Nachricht über ICQ schicken
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!
Mit Zitat antworten
  #6  
Alt 20.02.2004, 15:29:22
DiJae DiJae ist offline
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.
Mit Zitat antworten
  #7  
Alt 20.02.2004, 16:06:29
feuervogel feuervogel ist offline
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?
Mit Zitat antworten
  #8  
Alt 20.02.2004, 16:29:09
Benutzerbild von Yzerman
Yzerman Yzerman ist offline
Member
 
Registriert seit: Dec 2002
Ort: Soest
Beiträge: 623
Yzerman eine Nachricht über ICQ schicken
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!
Mit Zitat antworten
Antwort


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.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:04:57 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt