Mailinglisten-Archive |
On Wednesday 24 March 2004 18:47, Christian Ruetgers wrote: > >(&|&)muss nur vorkommen, wenn lang= folgt, also irgendwie so: > >'/\/index.php4\?show_nav=(.*)((&|&)lang=)?(.*)/s' > > Das sind so die Ansätze, die ich auch verfolgt hatte. Dann wird aber das > lang=sonstas nicht aufgelöst. > > Resultat bei '/index.php4?show_nav=test-3-fr&lang=fr' ist dann: > instring1:Array > ( > [0] => /index.php4?show_nav=test-3-fr&lang=fr > [1] => test-3-fr&lang=fr > ) Dann evtl. noch (.*) durch ([^&.]*) - also alles außer & - ersetzen oder an der Greediness rumspielen (also mit Modifier U oder einem ? hinter dem *). Varianten: '/\/index.php4\?show_nav=(.*)((&|&)lang=)?(.*)/sU' '/\/index.php4\?show_nav=(.*?)((&|&)lang=)?(.*)/s' Momentan versucht er den ersten Bereich so groß wie möglich zu machen, soll aber sobald die nächste Abteilung matcht aufhören... Ansonsten hatte ich Dir ja in der ersten Mail noch eine RegExp'lose Lösung mitgeschickt - und der ganze Ausdruck geht sicher auch schöner - so wird es langsam unlesbar ;-) johannes
php::bar PHP Wiki - Listenarchive