Cytat(Gość_Adam @ 2006-05-02 10:29:53)
Witam, mam problem z wyrażeniami regularnymi PCRE a dokładnie to nie potrafie ułożyć wzoru dla mojego parsera systemu szablonów. Próbowałem np. tak:
<?php
?>
ale nie działa ;/
Co chce osiągnać to chyba oczywiste, powyższa funkcja ma mi poszukać ciągu znaków zaczynającego się od { a kończącego na }.
Dzięki wielkie.
To wyrażenie chyba w ogóle nie ma prawa działać.
Pokolei:
Kod
{
Znajdź znak {
Kod
(
Otwórz grupę
Kod
+
Znak '+' oznacza znajdź poprzedni element raz lub więcej razy (czego u Ciebie ma szukać - nawiasu? - nie poprzedziłes plusa żadnym elementem)
To wywala błąd
Powinienes mieć
Kod
.+?
Kropka - dowolny znak,
+ znajdź poprzedni znak raz lub więcej razy
? - nie chciwie.. to znaczy jesli następujące potem wyrażenie jest odnalezione, przerwij
Bez ? by się nie zatrzymało i objęło by koncowe '}'
i tyle czyli całosc:
Kod
{(.+?)}