Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [RegExp][PHP]Array
Spirit86
post 6.06.2005, 19:12:52
Post #1





Grupa: Zarejestrowani
Postów: 607
Pomógł: 23
Dołączył: 8.09.2004
Skąd: Wrocław

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


Witam, mam następujący problem, chcę, aby każde wyrażenie typu {lang:index} zostało zastąpione $lang['index'] , gdzie index oczywiście byłby różny. W związku z czym napisałem Wyrażenie:

  1. <?php
  2. $this->szablon = preg_replace(&#092;"#{lang:(.*?)}#si\", $lang['1'] , $this->szablon);
  3. ?>


jedankże, jak się zapewne domyślacie nie działa winksmiley.jpg. Tzn. Mogę wydobyć spokojnie ww. index, jednakże nie mam pojęcia jak do "wcisnąć" w tablicę $lang. Jakieś pomysły?


--------------------
Audio: Metallica, Soil, RHCP, OffSpring, Green Day, "Retro", Gorillaz, Disturbed, Coma
DB: MySQL 4.1 | php: 4.4.3 Pomogłem Ci? Wciśnij przycisk POMÓGŁ.
Go to the top of the page
+Quote Post
bendi
post 7.06.2005, 08:29:52
Post #2





Grupa: Zarejestrowani
Postów: 401
Pomógł: 5
Dołączył: 14.09.2003
Skąd: Wrocław

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


Jeżeli chcesz zastąpić znaleziony tekst jakąś wartościa z wcześniej zdefiniowanej tablicy to zrób tak:
  1. <?php
  2. $this->szablon = preg_replace(&#092;"#{lang:(.*?)}#sie\", '$lang['1']' , $this->szablon);
  3. ?>


Natomiast jeżeli chcesz zamienić znaleziony ciąg znaków, na tekst $lang[klucz] to zrób tak:
  1. <?php
  2. $this->szablon = preg_replace(&#092;"#{lang:(.*?)}#si\", '$lang['1']' , $this->szablon);
  3. ?>


Jak widać różnica opiera się o modyfikator e który służy do interpretowania zamienianego ciągu znaków jako kod php, działanie takie samo jak w przypadku funkcji eval" title="Zobacz w manualu PHP" target="_manual


--------------------
Go to the top of the page
+Quote Post
Spirit86
post 7.06.2005, 11:16:04
Post #3





Grupa: Zarejestrowani
Postów: 607
Pomógł: 23
Dołączył: 8.09.2004
Skąd: Wrocław

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


hehe, działa biggrin.gif
próbowałem podobnej wersji tyle tylko, że zamiast ' dałem " i nie działało, thx!
Pozatym trochę się chyba pomyliłeś w poście, napisałeś 2 razy ten sam przykład tongue.gif


--------------------
Audio: Metallica, Soil, RHCP, OffSpring, Green Day, "Retro", Gorillaz, Disturbed, Coma
DB: MySQL 4.1 | php: 4.4.3 Pomogłem Ci? Wciśnij przycisk POMÓGŁ.
Go to the top of the page
+Quote Post
bendi
post 7.06.2005, 11:27:07
Post #4





Grupa: Zarejestrowani
Postów: 401
Pomógł: 5
Dołączył: 14.09.2003
Skąd: Wrocław

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


Cytat(Spirit86 @ 2005-06-07 12:16:04)
Pozatym trochę się chyba pomyliłeś w poście, napisałeś 2 razy ten sam przykład tongue.gif

No to sprwadź działanie obu - przecież napisałem jaka jest różnica cool.gif


--------------------
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: 14.08.2025 - 02:57