zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden Schon wieder RegExp: Mehrere Werte treffen

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 19.07.2007, 13:43
Benutzerbild von fox
fox fox ist offline
Erfahrener Benutzer
XHTMLforum-Kenner
Thread-Ersteller
 
Registriert seit: 11.09.2006
Beiträge: 1.011
fox sorgt für eine eindrucksvolle Atmosphärefox sorgt für eine eindrucksvolle Atmosphäre
Standard Gelöst: Schon wieder RegExp: Mehrere Werte treffen

Hallo,

schon wieder diese Regulären Ausdrücke... diesmal ärgert mich dieses Problem:

Zu treffender Text:
Code:
Ich bin <$foo> mal hier gewesen.

<$array.foo.bar.foobar> Schlüssel!
Es soll nur <$array.foo.bar.foobar> getroffen werden, nicht <$foo>.

Dabei will ich auf jedes Element (array, foo, bar und foobar; durch . getrennt) direkt zugreifen können.

Bis jetzt sieht mein Ausdruck folgendermaßen aus:

Code:
/<\$([\w\d_]*)(?:\.([\w\d_]*)){1,}>/U
Das Problem ist jedoch, dass ich so nur auf das letzte Element zugreifen kann.

Das "Array" soll dabei beliebig viele Elemente enthalten, also z.B. auch <$array.foo> oder <$array.foo.bar.foobar.x.y.z>.

Weiß da jemand eine Möglichkeit, den letzten RegExp-teil zu wiederholen?


Danke schonmal.
__________________
:)

Geändert von fox (19.07.2007 um 18:04 Uhr)
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 19.07.2007, 16:22
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 21.01.2007
Beiträge: 106
Artemis befindet sich auf einem aufstrebenden Ast
Standard

Watt?

Ne im Ernst, erklär mal anders/genauer, was du möchtest, ich verstehe grad gar nichts.
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 19.07.2007, 16:29
Benutzerbild von netspy
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 13.08.2004
Ort: Leipzig
Beiträge: 1.956
netspy sorgt für eine eindrucksvolle Atmosphärenetspy sorgt für eine eindrucksvolle Atmosphäre
Standard

Wenn es beliebig viele Elemente sein können, kommst du mit einem einfachen regulärem Ausdruck nicht weiter. Ein relativ einfacher Ansatz wäre der, mit preg_replace_callback alles zwischen <$...> zu greifen, dann in der Callback-Funktion mit explode die Teile zu trennen, jeweils ersetzen und mit implode zurückzugeben.

Mario
__________________
AppDev Blog · AppDev Forum
Mit Zitat antworten
  #4 (permalink)  
Alt 19.07.2007, 16:50
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 29.07.2005
Beiträge: 1.076
xm22 befindet sich auf einem aufstrebenden Ast
Standard

Du könntest erst mit regex den Inhalt aus <...> rausholen und dann mit explode('.', ...) das Ganze in ein Array bringen.
__________________
... Meine Meinung
Mit Zitat antworten
  #5 (permalink)  
Alt 19.07.2007, 18:03
Benutzerbild von fox
fox fox ist offline
Erfahrener Benutzer
XHTMLforum-Kenner
Thread-Ersteller
 
Registriert seit: 11.09.2006
Beiträge: 1.011
fox sorgt für eine eindrucksvolle Atmosphärefox sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
Zitat von Artemis Beitrag anzeigen
Watt?

Ne im Ernst, erklär mal anders/genauer, was du möchtest, ich verstehe grad gar nichts.

Sorry, war wohl ein bisschen schwammig erklärt
Ich werde es mit der Lösung von netspy bzw. slayer versuchen, das dürfte das einfachste sein.

Vielen Dank euch


lg
__________________
:)
Mit Zitat antworten
Antwort

Themen-Optionen
Ansicht

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 an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
regexp Zeichenketten/Zeichen verbinden 1chris Javascript & Ajax 15 19.05.2011 13:30
regexp frage: youtube link filtern, dann umwandeln und mit embedcode returnen sepp88 Serveradministration und serverseitige Scripte 4 14.02.2011 12:57
Treffen - gabs das schon mal? emti Offtopic 452 01.10.2009 19:28
RegExp Problem plectron Javascript & Ajax 11 07.01.2009 21:23
CSS Werte werden überschrieben. Nur wo? ONeill CSS 5 04.07.2006 12:06


Alle Zeitangaben in WEZ +2. Es ist jetzt 01:26 Uhr.