Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyrażenia regularne - problem
Lame
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 29.10.2004

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


No to teraz walczę z regexami (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Jak to najłatwiej zapisać by znajdowało mi w pliku wyrażenie: <!--INCLUDES jakieś_tekst-->

  1. <?php
  2. preg_match_all('/(<!--INCLUDEn){1}([a-zA-Z0-9_]+)(-->){1}/', $this->_uncompiled, $coś_tam)
  3. ?>
nie działa, bo pewnie stanowi jakiś niepośledni

bełkot tylko ja o tym jeszcze nie wiem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
I czy ktoś mógłby mi wytłumaczyć skąd taka forma zapisu:

  1. <?php
  2. preg_replace('/{([^}]+)}/e', '$this->dane[\"1\"]', $this->tmpl);
  3. ?>


Na moje oko to winno to wyglądać jakoś tak (tej powyższej formy nie rozumiem):

  1. <?php
  2. preg_replace('/{([a-zA-Z0-9_]+)}/e', '$this->_blocks[\"$1\"]', $this->tmpl);
  3. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Lame
post
Post #2





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 29.10.2004

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


Dzięki wielkie, męczę się z tymi regexami już drugi dzień (próbuję system szablonów napisać), a wszystko przez to, że trudno znaleźć w necie jakieś wyczerpujące źródło informacji o nich (manual php odpada bo mam kłopoty ze zrozumieniem bardziej skomplikowanych terminów technicznych po ang.)

Cytat
Chodzi Ci zapewne o ten [^}]+ kawalek ? To dziala na takiej zasadzie,ze wylapuje wszystkie znaki oprocz (znak ^ oznacza w tym przypadku negacje) tych ktore sa umieszczone w nawiasie, w tym wypadku wszystko oprocz }


Dokładnie o to mi chodziło (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Właśnie powodu dla którego znak "^" występował w tym wyrażeniu nie mogłem rozgryźć, ani wpaść na to jaką rolę pełni (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Chciałem się jeszcze zapytać - w celach szkoleniowych, co jest nie tak w zapisie:

  1. <?php
  2. preg_match_all('/(<!--INCLUDEn){1}([a-zA-Z0-9_]+)(-->){1}/', $this->_uncompiled, $coś_tam)
  3. ?>


Wyszukiwać "to coś" (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) powinno zaś <!--INCLUDE jakieś_tekst--> - wcześniej się machnąłem i wstawiłem niepotrzebnie S, spacji też zdaje się nie było widać.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 9.10.2025 - 13:43