Autor | Zpráva | ||
---|---|---|---|
johnl Profil |
Zdravím,
pokouším se nahradit něco takového: 1$[foreach!$pole;$klic;$hodnota] $[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: 1foreach($pole as $klic => $hodnota){ 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: 13 let
|
Toto vlákno je staré, již dlouho do něj nikdo nepřispíval.
Informace a odkazy zde uváděné už nemusejí být aktuální. Nechcete-li řešit zde uvedenou konkrétní otázku, založte si vlastní vlákno, nepište do tohoto. Vložíte-li sem nyní příspěvek, upoutáte pozornost mnoha lidí a někteří z nich si jen kvůli vám přečtou i všechny předcházející příspěvky. Předpokládáte-li, že váš text skutečně bude hodnotný, stiskněte následující tlačítko:
Běda vám, jestli to bude blábol.
0