ďťż

[PHP]Problem z str_replace

       

Podstrony


telcocafe

witam, mam 2 kody źródłowe:
plik1.php:
<form action="plik2.php" method=post> <input name="tt"><input type=submit> </form>

i plik 2,php:
<? echo str_replace("ł", "l", $_POST["tt"]); ?>
i teraz pytanie: Czemu ten skrypt mi nie zamienia tych znaczków?
Z odpowiedzi zgóry dzięki
Pozdrawiam



1. Spróbuj dać w method POST dużymi literami
2. Zamień $_POST["tt"] na $_POST['tt']
//Powinno działać bo str_replace jest wpisane dobrze ale pewnie nie dostaje wartosci z tablicy $_POST. Spróbuj jeszcze napisać echo $_POST["tt"]; jezeli to nic nie wyswietli to znaczy ze dane z formularza nie docierają do skryptu.

@up: nie kombinuj, bo na logikę i tak wszystko jest ok :P

@loguś: Musi nie działać, o ile masz na stronie ustawione kodowanie inne niż Windows-1250 (bądź inne, które przetwarza znak "ł").
Tak więc, jako pierwszy parametr str_replace() musisz wpisać literę "ł" odpowiadającą ustawionemu kodowaniu. Wnioskuję, że używasz UTF-8 (bo ISO-8859-2 nie zamienia "ł", a tylko w/w dwa biorę pod uwagę, bo są najpopularniejszymi w obecnych czasach i naszej strefie) w związku z czym spróbój:echo str_replace("Ĺ‚", "l", $_POST["tt"]);
A jeśli dalej chcesz bawić się znaczkami, może ten program Ci pomoże ;)

edit@down piotr94: jeśli myślisz, że jesteś dobry, to nie masz racji. Poza tym, jeśli autor wątku coś napisał, to łaskawie przeczytałbyś owy post -.-
Użytkownik DJ_ProG edytował ten post 27 sierpień 2007, 13:21
DJ_Prog ma racje, pisze w linuxowym Kate, więc kodowania nie mam windowsowego, ale przerobiłem w w winenotepadzie i działa;) Dzięki wszystkim



cały błąd polega na tym, że ta funkcja nie zamienia ciągu znakow, ale zwraca nowy z podanymi zamianami,
tak więc jeżeli chcesz mieć ciąg z literami 'l' zamiast 'ł' to piszesz:
//zapis w zmiennej $ciag: $ciag=str_replace("ł", "l", $_POST["tt"]); //lub zapis w tej samej zmiennej: $_POST["tt"]=str_replace("ł", "l", $_POST["tt"]);
ot cała filozofia
większość funkcji tego typu działa podobnie np. trim
Użytkownik piotr94 edytował ten post 27 sierpień 2007, 10:51
Kod podany w pierwszym poście nie był zły... funkcja Strreplace zwraca swój wynik do funkcji echo która go wyświetla...

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.