![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 20.09.2003 Ostrzeżenie: (0%) ![]() ![]() |
Eh... wysiadam. :cry: Próbuję wymęczyć pewne wyrażenie regularne.
Kod /<poczatek>(.*)</koniec>/Us
Chodzi o to, żeby powyższe wyrażenie nie dopasowywało ciągów, w których pomiędzy tagami <poczatek> i </koniec> wystapi znów tag <poczatek>. Próbowałem wszystkich sposobów, ale nie wiem jak wyłączyć z ciagu cały wyraz, a nie pojedyńcze znaki. Pomóżcie, proszę! |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 20.09.2003 Ostrzeżenie: (0%) ![]() ![]() |
bamboos << Problem był podobny, ale mi chodzi o wyciaganie tego przez preg_match_all i późniejszą zamianę, próbowałem to co podałeś przerobić... ale niezbyt chciało wychodzić.
kubatron << Znam manual 8) . Część o wyrażeniach też. 8) Ale wykombinowałem. Trochę na odwrót i dłużej, ale się udało: [php:1:4a776f80c8]<?php preg_match_all('/<ztpl:if condition="(.[^"]*?)">((?(?=.*<ztpl:if.*).[^ztpl:if]*|.*))</ztpl:if><ztpl:else>((?(?=.*<ztpl:if.*).[^ztpl:if]*|.*))</ztpl:else>/Us', $tmp_el, $commands_m, PREG_SET_ORDER); ?>[/php:1:4a776f80c8] Zastsosowałem wyrażenie warunkowe (?(?=...)...|...) i nawet działa dobrze (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) Dzięki wszystkim! |
|
|
![]() ![]() |
![]() |
Aktualny czas: 12.10.2025 - 08:54 |