Regulärer Ausdruck gesucht

Manjo

Manjo

Aktives Mitglied
Thread Starter
Dabei seit
25.07.2005
Beiträge
906
Reaktionspunkte
24
Hallo!

Ich zerbreche mir hier den Kopf und finde keine Lösung, dabei ist es wahrscheinlich ganz einfach. Ich habe Strings folgendem Aussehen:
Code:
blabla/blubblub/blibli/

test/text/

huihui/..../.../..../
die ich zu folgendem machen will:
Code:
blabla(blabla)blubblub(blubblub)blibli(blibli)

test(text)text(text)

huihui(huihui)....()...()....()

Für PHP habe ich mir z.B. folgendes ausgedacht:
PHP:
preg_replace('#([^/])+/#i','\1(\1)',$string)
Leider ist der Ausdruck nicht gierig genug und sammelt nur das letzte Zeichen vor dem Slash ein.

Kann mir jemand helfen?

Viele Grüße

Manjo
 
Das ist sogar mir zu kompliziert kopfkratz

Allerdings empfehle ich Dir dieses Werkzeug: http://www.toolusersoft.com/regextest/index.html

Du muss da aber "normale" Regex syntax verwenden, also mit /.../ und dann entsprechend innere /s escapen:

/#([^\/])+\/#i','\1(\1)/

Alex
 
Hallo!

Vielen Danke für die Hilfe. Ihr ward nicht die einzigen, die gegrübelt haben. Dabei ist die Lösung so einfach:
Code:
preg_replace('#([^/]+)/#i','\1(\1)',$string)
Man verschiebe einfach das "+" ein Zeichen nach vorne!

Viele Grüße
Manjo

P.S. Ich habe mir nun ein gescheites Buch zu dem Thema organisiert, weil ich die regexp nun endlich mal richtig verstehen will ;-)
 
Zurück
Oben Unten