Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Wyrażenie regularne x(n+1) -> 1,2,3
jack314
post
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 11.03.2012

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


Witam
Jak zamienić w ciągu $s1 wszystkie 'x' na kolejne elementy tablicy $s2 ?

  1. <?php
  2. $s1 ='<font color="#606060">x</font>
  3. <font color="#777777">x</font>
  4. <font color="#6b6b6b">x</font>
  5. <font color="#5a5a5a">x</font>
  6. <font color="#7a7a7a">x</font>
  7. <font color="#656565">x</font>
  8. <font color="#6c6c6c">x</font>
  9. <font color="#7d7d7d">x</font>
  10. <font color="#727272">x</font>
  11. <font color="#656565">x</font>';
  12.  
  13. $s2 = array(1,2,3,4,5,6,7,8,9,10);
  14.  
  15. $s1 = preg_replace("/<.*?>x<\/.*?>/", $s2, $s1);
  16. ?>


Chcę uzyskać:
  1. <?php
  2. $s1 ='<font color="#606060">1</font><font color="#777777">2</font><font color="#6b6b6b">3</font><font color="#5a5a5a">4</font><font color="#7a7a7a">5</font><font color="#656565">6</font><font color="#6c6c6c">7</font>
  3. <font color="#7d7d7d">8</font><font color="#727272">9</font><font color="#656565">10</font>';
  4. ?>


Zazwyczaj sam szukam rozwiązania ale dziś potrzebuję szybko rozwiązania, dziękuję Jacek

Ten post edytował jack314 13.03.2012, 19:53:09
Go to the top of the page
+Quote Post
jaslanin
post
Post #2





Grupa: Zarejestrowani
Postów: 511
Pomógł: 143
Dołączył: 13.03.2010
Skąd: Jasło

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


  1. <?php
  2. $s1 ='<font color="#606060">x</font>
  3. <font color="#777777">x</font>
  4. <font color="#6b6b6b">x</font>
  5. <font color="#5a5a5a">x</font>
  6. <font color="#7a7a7a">x</font>
  7. <font color="#656565">x</font>
  8. <font color="#6c6c6c">x</font>
  9. <font color="#7d7d7d">x</font>
  10. <font color="#727272">x</font>
  11. <font color="#656565">x</font>';
  12.  
  13.  
  14. $i = 0;
  15. function pr_callback($matches) {
  16. global $i;
  17. $replacement = array(1,2,3,4,5,6,7,8,9,10);
  18. return $matches[1].$replacement[$i++].$matches[2];
  19. }
  20.  
  21. echo preg_replace_callback('/(<.*?>)x(<\/.*?>)/', 'pr_callback', $s1);
  22.  
  23. ?>


Ten post edytował jaslanin 13.03.2012, 20:47:58


--------------------
Good luck and happy PHP'ing
Go to the top of the page
+Quote Post
jack314
post
Post #3





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 11.03.2012

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


Bardzo Ci dziękuję.
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 Aktualny czas: 22.08.2025 - 05:23