Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]str_replace nie działa poprawnie na tablicy, jak wykonać?
casperii
post
Post #1





Grupa: Zarejestrowani
Postów: 681
Pomógł: 28
Dołączył: 14.08.2014

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


Panowie o co chodzi , próbuje przy pomocy str_replace podmieniać ciąg znaków niestety zbyt dosłownie mi te ciągi zmienia (IMG:style_emoticons/default/smile.gif)

  1. $stare = array("1","11","12");
  2. //$stare = array(1,11,12);
  3. $zamien = array('jeden','jedenascie','dwanascie');
  4.  
  5. str_replace($stare, $zamien, $row['numerek']);


bo jeżeli mam numerek 11 to zamiast jedenascie pokazuje mi jedenjeden (IMG:style_emoticons/default/sad.gif)

Czy da się w jakiś inny sposób to wykonać ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Neutral
post
Post #2





Grupa: Zarejestrowani
Postów: 286
Pomógł: 46
Dołączył: 10.01.2016

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


  1. <body style="background: darkgoldenrod;">


  1. <?php
  2.  
  3. $data_from_db = "1 sdfsdf 11 12 1 11 tree.";
  4.  
  5.  
  6. $old = array("1","11","12");
  7. $rep = array('jeden','jedenascie','dwanascie');
  8.  
  9. if(count($old) == count($rep)) {
  10. $quantity = count($old);
  11. } else {
  12. $quantity = 0;
  13. }
  14.  
  15. for($i=0;$i<$quantity;$i++) {
  16. $old[$i] = '@\b'.$old[$i].'\b@';
  17. $rep[$i] = '<span style="color: green;">'.$rep[$i].'</span>';
  18. }
  19.  
  20.  
  21. echo preg_replace($old, $rep, $data_from_db); // jeden sdfsdf jedenascie dwanascie jeden jedenascie tree.
  22.  
  23. ?>


  1. </body>


Jest jeszcze preg_filter, ale jak sama nazwa wskazuje - filtruje dane, czyli nie wszystkie z wejścia może znaleźć się na wyjściu.

Ten post edytował Neutral 14.07.2019, 02:01:01
Go to the top of the page
+Quote Post

Posty w temacie


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: 17.10.2025 - 09:59