Autor | Zpráva | ||
---|---|---|---|
johnl Profil |
Zdravím,
pokouším se nahradit něco takového: $[foreach!$pole;$klic;$hodnota] //echo ... $[foreach!$pole;$klic;$hodnota] //echo ... [/foreach] [/foreach] Tak, aby vzniklo toto: foreach($pole as $klic => $hodnota) { //echo ... foreach($pole as $klic => $hodnota) { //echo ... } } /[$]\[foreach\![$](.*?)\;[$](.*?)\;[$](.*?)\](.*?)\[\/foreach\]/is => foreach($$1 as $$2 => $$3){ $4 }
Bohužel, výsledek vyleze asi takovýto: foreach($pole as $klic => $hodnota){ //echo ... $[foreach!$pole;$klic;$hodnota] //echo ... } [/foreach] Samozřejmě, pokud nejsou dva foreach zanořené do sebe, tak to funguje, když ale zanořím dva (a více) do sebe tak už to nefunguje protože se nahradí to co se najde první.. :/ Jedno řešení mě napadlo rozlišovat foreach takto: [foreach1][foreach2][/foreach2][/foreach1] to mi ale nepřijde jako ideální řešení, nevěděl by někdo jak se s tím poprat? |
||
Alphard Profil |
#2 · Zasláno: 3. 5. 2012, 16:51:43
Zkoušel jste u toho reguláru parametr U? Nejsem si teď ale jist, jestli pak nevezme jenom ten zanořený.
|
||
johnl Profil |
#3 · Zasláno: 3. 5. 2012, 17:40:25
Alphard:
Já jsem nikdy s reg. výrazy moc nepracoval až nyní, takže tomu moc nerozumím. Kam mám ten parametr dát, nebo jak ho tam dát? Díky za trpělivost.. :)) |
||
Alphard Profil |
#4 · Zasláno: 3. 5. 2012, 22:10:05
[#3] johnl
Nějaké parametry tam už máte, viz /is . Ve FAQ si najděte část s regulárními výrazy a tam je odkaz na popis modifikátorů. Nebudu odkazovat konkrétně, začátečníka by mohlo zajímat vše.
|
||
Časová prodleva: 12 let
|
0