Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> prosty regexp
M4chu
post
Post #1





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 28.09.2003
Skąd: Rzeszów

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


Witam potrzebuje regexpa, ktory zamienia {n} na wartosc z tablicy $array[n] przy czym ilosc tych znacznikow moze byc dowolna, np
  1. <?php
  2.  
  3. $array = array( 10, 30, 50 );
  4. $string = '1/8/{0}/2/{1}/{2}'; // 1/8/10/2/30/50
  5.  
  6. ?>

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
crash
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

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


A może być tak?
  1. <?php
  2. $array = array( 10, 30, 50 );
  3. $string = '1/8/{0}/2/{1}/{2}'; // 1/8/10/2/30/50
  4.  
  5. preg_match_all('#{([0-9]+)}#', $string, $o);
  6.  
  7. foreach($o[1] as $b)
  8. {
  9.     $string = str_replace('{'.$b.'}', $array[$b], $string);
  10. }
  11.  
  12. echo $string;
  13. ?>


Logiczniej byłoby:
  1. <?php
  2. preg_replace('#{([0-9]+)}#', $array['1'], $string);
  3. ?>
ale niestety to nie działa...

Ten post edytował crashu 11.03.2005, 18:06:56
Go to the top of the page
+Quote Post
FiDO
post
Post #3





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

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


  1. <?php
  2.  
  3. preg_replace('#{([0-9]+)}#e', '$array[1]', $string);
  4.  
  5. ?>
Go to the top of the page
+Quote Post
M4chu
post
Post #4





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 28.09.2003
Skąd: Rzeszów

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


Dziala, wielkie dzieki!
Go to the top of the page
+Quote Post

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: 25.12.2025 - 00:44