evilmoe
Goto Top

preg replace - Alles bis zum ersten Buchstaben entfernen

Hallo,

ich habe schwierigkeiten einen String zu verarbeiten. Ich habe mehrere String und diese sollen auf selbe Format gebracht werden. Ich möchte alles am Anfang des Strings entfernen bis zum ersten Buchstaben. Ein String könnte so aussehen:

42. Blablub 4 - Blabla 4
oder auch
001- BlaBlub2

Nun möchte ich das der String mit Bla anfängt und alles was davor steht weg kann. Da aber der String nachher noch Zahlen,Punkte,Bindestriche enthalten kann kann ich nicht einfach alles entfernen ausser die Buchstaben.


Für Hilfe bin ich dankbar!

Content-ID: 93383

Url: https://administrator.de/contentid/93383

Ausgedruckt am: 22.11.2024 um 19:11 Uhr

mnemetz
mnemetz 01.08.2008 um 11:56:43 Uhr
Goto Top
Auf die Schnelle fällt mir mit preg_replace nichts ein. Aber Du könntest das erste Vorkommen von "Bla" mit strpos ermitteln und dann mit substr dir alles ab dieser Position ausgeben lassen.
EvilMoe
EvilMoe 01.08.2008 um 12:07:05 Uhr
Goto Top
Der String fängt aber nicht immer mit "Bla" an sondenr kann ein beliebiger Buchstabe sein. Wie könnte man den den fesstellen wann ein Buchstabe beginnt? Dann mit substr abtrennen ist dann ja klar. Müsste man nur irgentwie rausfinden welcher Buchstabe am Anfang steht.

Das Alphabet durchgehen und gucken welcher zuerst steht scheint mir nicht gerade effektiv...
wakko
wakko 01.08.2008 um 12:41:01 Uhr
Goto Top
Moin,
so kann das gehen:
$str= "123-bla456";  
$suchmuster = "/[a-zA-Z]/"; //Suche nach erstem Buchstaben  
if (preg_match($suchmuster, $str, $treffer)) {
   //substr ab der Position des ersten Buchstaben 
   $strout = substr($str, strpos($str, $treffer));
}
MfG
EvilMoe
EvilMoe 01.08.2008 um 13:02:37 Uhr
Goto Top
AHhh. Das war natürlich blöd von mir mich auf preg_replace festzulegen. Natürlich geht deine Methode mit preg_match! Danke!
masterG
masterG 02.08.2008 um 12:37:42 Uhr
Goto Top
Ich werde den Thread schließen da keine Antwort mehr von Nöten ist.

masterG(moderator)