Witam,
nie mogę sobie poradzić z jedną kwestią. Chcę pobrać zawartość pomiędzy konkretnymi blokami, ale te bloki nie mają stałej "nazwy" - przykład:
{IF_nazwa}
Tutaj jest zawartość bloku
{/IF_nazwa}
I problem tkwi w tym, że nazwa nie jest mi znana, więc chcę napisać takie wyrażenie regularne:
/\{IF_(\w+)\}(\w+)\{/IF_(\w+)\}/
I teraz mam 2 możliwości:
- Analiza czy pierwsza ${1} i trzecia ${3} zmienna są identyczne - ale tak nie chcę robić
- Coś na zasadzie: /{IF_(\w+)}(\w+){/IF_${1}}/
I jeszcze jak najlepiej pobierać treść między blokami?
Jako, że ta treść to może być każdy możliwy znak (spacje, tabulatory, next line itd) to myślałem o czymś na zasadzie:
([\V\n\t\r]+)
ponieważ:
V - any character that is not a vertical whitespace character
n - next line
t - tab
r - return carrige
Choć właśnie wpadłem na to, że najłatwiej będzie robić ([\V\n]+), ponieważ t i r powiela się z next line.