![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Witajcie... mam drobny problem - mam string:
Kod {foreach from=$From item=Item key=$Key} da {foreach 2222} adasdas {/foreach } dsdas {/foreach} (jak sie zapewne domyslacie do systemu szablonow (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) ) mamy tylko 1 problem z tym... proste wyr. reg. jakim to "wypaluje:
niestety wybiera mi ono takie cos: Kod Array ( [0] => Array ( [0] => {foreach from=$From item=Item key=$Key} da {foreach 2222} adasdas {/foreach } dsdas {/foreach} ) [1] => Array ( [0] => from=$From item=Item key=$Key ) [2] => Array ( [0] => da {foreach 2222} adasdas {/foreach } dsdas ) ) nie bardzo wiem jak zrobic aby wybieralo kazda pare foreach :/ Ten post edytował Crozin 9.04.2007, 17:10:49 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 70 Pomógł: 0 Dołączył: 29.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Zgaduję co chce Pan dostać i niech Pan najpierw potwierdzi czy tak ma być :
Znalezienie 1: {foreach from=$From item=Item key=$Key} da {foreach 2222} adasdas {/foreach } dsdas {/foreach} podznalezienie 1.1 : from=$From item=Item key=$Key podznalezienie 1.2 : {foreach 2222} adasdas {/foreach } Znalezienie 2: {foreach 2222} adasdas {/foreach } podznalezienie 2.1 : 2222 podznalezienie 2.2 : adasdas Tak ma szukać ? |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 70 Pomógł: 0 Dołączył: 29.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
No to musi Pan to zrobić rekurencyjnie bo jedno wywołanie regularnych nie podoła, choćby dlatego, że musiałoby zwracać 2 wyniki z tego samego fragmentu tekstu a regularne tak nie robią.
Jak już wyciągnie Pan podznalezienie 1.2 : {foreach 2222} adasdas {/foreach } to na takim rezultacie trzeba wywołać jeszcze raz. Jeśli chodzi o templejty to akurat może to się skończyć obciążaniem serwera. Można niby próbować optymalizować że będzie jedno wywołanie reg. a reszta "ręcznie", jest takie coś jak preg_replace_callback i tam się podaje jako parametr funkcję.... można też to wykorzystać ale czy się opłaca to trzeb aby sprawdzić w praktyce. $t);
to mniej więcej jest tym co miałem na myśli z ręczną obsługą |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za pomoc, ale postanowilem podejść do sprawy inaczej :]
Teraz wlaściwie mamy tylko jedno wyr.reg. które pobiera wszystko spomiędzy { a }:
jak to działa potem - nie bedę się rozpisywać bo to nieco nie na temat :] |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 19:50 |