Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Wyrażenia regularne
-Gość_Adam-
post 2.05.2006, 11:29:53
Post #1





Goście







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:
  1. <?php
  2.  
  3. preg_match_all('/{(+)}/e', $this->template_file, $compiled);
  4. ?>
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.
Go to the top of the page
+Quote Post
Dex1987
post 2.05.2006, 13:42:53
Post #2





Grupa: Zarejestrowani
Postów: 246
Pomógł: 0
Dołączył: 28.09.2004

Ostrzeżenie: (0%)
-----


ja mam tak

Cytat
/\{\$([a-zA-Z0-9_]+)\}/


i to dziala dla {$nazwa}.

Ten post edytował Dex1987 2.05.2006, 13:43:44
Go to the top of the page
+Quote Post
mariuszn3
post 2.05.2006, 14:18:11
Post #3





Grupa: Zarejestrowani
Postów: 352
Pomógł: 0
Dołączył: 22.01.2006

Ostrzeżenie: (0%)
-----


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:
  1. <?php
  2.  
  3. preg_match_all('/{(+)}/e', $this->template_file, $compiled);
  4. ?>
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
{(.+?)}


Ten post edytował mariuszn3 2.05.2006, 14:19:31
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 6.07.2025 - 04:02