Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [wyrażenia regularne]info o userze
Forum PHP.pl > Forum > Przedszkole
bim2
Witam!
Mam taki kod:
  1. <?php
  2. preg_match_all("/{INFO:([d]{1,2}):([d]*)}/", $this->give, $infos, PREG_SET_ORDER);
  3.  
  4. foreach($infos AS $inf)
  5. {
  6.  
  7. $this->give = preg_replace("/(.*){INFO:$inf[1]:$inf[2]}(.*)/", "1".$info[$inf[1]][$inf[2]]."2", $this->give); 
  8. }
  9. ?>

a zmienna info to:
  1. <?php
  2. $id=$r['users_id'];
  3.  
  4. $info[1][$id]=$r['users_nick']; //nick
  5. $info[3][$id]=$r['users_mail']; //email
  6. $info[5][$id]=$r['users_img_ok']; //czy masz obrazek nicka
  7. $info[6][$id]=$r['users_img_url']; //link obrazka nicka
  8. $info[7][$id]=ucfirst($r['users_imie']); 
  9. $info[8][$id]=$r['users_www'];
  10. $info[9][$id]=$r['users_kraj'];
  11. $info[10][$id]=$r['users_miasto'];
  12. $info[11][$id]=$r['users_urodziny'];
  13. $info[21][$id]=(int) $r['users_gg'];
  14. $info[13][$id]=$r['users_aqq'];
  15. $info[14][$id]=$r['users_tlen'];
  16. $info[15][$id]=$r['users_icq'];
  17. $info[16][$id]=$r['users_zainteresowania'];
  18. $info[17][$id]=$r['users_podpis'];
  19. $info[18][$id]=$r['users_avatar'];
  20. $info[19][$id]=$r['grupy_id'];
  21. $info[20][$id]=$r['grupy_nazwa'];
  22. ?>

w themie używam to {INFO:nr_infa:id_usera}
potem gdy daje to w themie i info jest wartością liczbową to usuwa mi całą linijke aż do pierwszej cyfry tego numeru sadsmiley02.gif więc ja w themie ma:
  1. <?php
  2. <td colspan="2" align="center" class="x_01">{INFO:13:{SESSION_N}}<font class="menu_nazwa">Kontakt:</font></td>
  3. ?>

to zostaje mi:
  1. <?php
  2. 756802<font class="menu_nazwa">Kontakt:</font></td>
  3. ?>

a ma być
  1. <?php
  2. <td colspan="2" align="center" class="x_01">6756802<font class="menu_nazwa">Kontakt:</font></td>
  3. ?>


Bardzo dziex! cool.gif
piotrekkr
heh moze tak:
  1. <?php
  2. preg_match_all("/{INFO:([d]{1,2}):([d]*)}/", $this->give, $infos, PREG_SET_ORDER);
  3. ?>
bim2
Nadal nie sad.gif. Może zrobić zeby z foreach($info AS $k => $inf... foreach($inf AS $i ... i w tym robic str_replace??

Kolega mi pomógł i działa:
  1. <?php
  2. $this->give=preg_replace("/{INFO:([0-9]+):([0-9]+)}/e", '$info["1"]["2"]', $this->give);
  3. ?>
,_ tylko to wystarczy ;P
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.