Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: prosty regexp
Forum PHP.pl > Forum > Przedszkole
M4chu
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
crash
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...
FiDO
  1. <?php
  2.  
  3. preg_replace('#{([0-9]+)}#e', '$array[1]', $string);
  4.  
  5. ?>
M4chu
Dziala, wielkie dzieki!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.