Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> str_replace wykonuje tylko jedno zalozenie?
spit
post 18.02.2007, 23:57:22
Post #1





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 1.08.2005

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


Czesc,
Chce zamieniac zmienne z adresu na poprawnie wyswietlane wyrazy na stronie. W adresie nie uzywam kropek, spacji ani niczego podobnego, totez podaje je w formacie "Jakis_Tekst". I napisalem sobie krotka regulke str_replace
  1. <?php
  2. $bandph = str_replace("_", " ", $band);
  3. $bandph = str_replace("Fantomas", "Fantômas", $band);
  4. $bandph = str_replace("Bjork", "Björk", $band);
  5. $bandph = str_replace("Kaada Patton", "Kaada / Patton", $band);
  6. $bandph = str_replace("Mr_Bungle", "Mr. Bungle", $band);
  7. ?>
Zapisalem ja do pliku inc/replace.php. Na podstronie robie tak
  1. <?php
  2. echo '<h2><a href="?dzial=dyskografia&wyk='.$band.'">Dyskografia</a> › <a href="?dzial=dyskografia&wyk='.$band.'">'.$bandph.'</a></h2>';
  3. ?>
Ale tu zachowanie jest dziwne. Dlaczego? Otoz, gdy w adresie jest wyk=Mr_Bungle, tytul jest zamieniany na Mr. Bungle. Ale juz gdy dam wyk=Kaada_Patton, nawet go nie rusza. Co to moze byc? Oczywiscie zmienne z adresu to:
  1. <?php
  2. $band = $_GET['wyk'];
  3. $album = $_GET['album'];
  4. ?>
. Chcialem dac $bandph = $_GET['wyk']; ale wtedy zadno z zalozen nie dzialo.
Go to the top of the page
+Quote Post
kossa
post 19.02.2007, 00:39:33
Post #2





Grupa: Zarejestrowani
Postów: 1 165
Pomógł: 9
Dołączył: 9.04.2002
Skąd: Toruń

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


tu nie masz znaku: _

Cytat
str_replace("Kaada Patton", "Kaada / Patton", $band);


a w adresie podajesz:
Cytat
Kaada_Patton


Łukasz


--------------------
Go to the top of the page
+Quote Post
spit
post 19.02.2007, 01:01:12
Post #3





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 1.08.2005

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


Nawet gdy to zmienie, efekt wciaz jest taki sam (a wlasciwie brak efektu).
Go to the top of the page
+Quote Post
kossa
post 19.02.2007, 01:43:40
Post #4





Grupa: Zarejestrowani
Postów: 1 165
Pomógł: 9
Dołączył: 9.04.2002
Skąd: Toruń

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


  1. <?php
  2. $band="Fantomas";
  3.  
  4. $band = str_replace("_", " ", $band);
  5. $band = str_replace("Fantomas", "Fantômas", $band);
  6. $band = str_replace("Bjork", "Björk", $band);
  7. $band = str_replace("Kaada Patton", "Kaada / Patton", $band);
  8. $band = str_replace("Mr_Bungle", "Mr. Bungle", $band);
  9.  
  10. echo $band;
  11. ?>


tak działa smile.gif

Łukasz

edit
na dodatek skoro te "tłumaczenia" piszesz z ręki to możesz użyć instrukcji if

Ten post edytował kossa 19.02.2007, 01:44:15


--------------------
Go to the top of the page
+Quote Post
spit
post 19.02.2007, 01:59:08
Post #5





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 1.08.2005

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


"tak działa" - Zaiste, dzieki wielkie.
"na dodatek skoro te "tłumaczenia" piszesz z ręki to możesz użyć instrukcji if" mianowicie jak mialoby to wygladac?
Go to the top of the page
+Quote Post
kossa
post 19.02.2007, 02:23:53
Post #6





Grupa: Zarejestrowani
Postów: 1 165
Pomógł: 9
Dołączył: 9.04.2002
Skąd: Toruń

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


  1. <?php
  2. function Tlumacz($str)
  3. {
  4. if ($str=="Fantomas")
  5. $w="Fantômas";
  6. else if ($str=="Mr_Bungle")
  7. $w="Mr. Bungle";
  8. else
  9. $w="";
  10. //itd.
  11. return $w;
  12. };
  13.  
  14. echo Tlumacz($_GET["wyk"]);
  15. ?>


Łukasz

Ten post edytował kossa 19.02.2007, 02:24:06


--------------------
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 Wersja Lo-Fi Aktualny czas: 19.07.2025 - 07:56