![]() |
![]() |
-phisis- |
![]()
Post
#1
|
Goście ![]() |
Witam,
Mam skrypt, który potrzebny mi jest do zmiany polskich znaków (ę, ć, ż, ź, itp) na ich odpowiedniki bez ogonków. Oto kod: //podmiana polskich znakow w tytule $polskie_znaki = array('ó', 'ż', 'ź', 'ł', 'ć', 'ń', 'ś', ' ', 'ę'); //Lista polskich znakow $podmienione_znaki = array('o', 'z', 'z', 'l', 'c', 'n', 's', '_', 'e'); // Lista podmienionych znakow $wynik = str_replace($polskie_znaki, $podmienione_znaki, $tytul); echo strtolower($wynik); Wszystko ładnie działa za wyjątkiem ostatniego znaku. PHP zamienia mi tytuły poprawnie (tj. zmienia znaki na małe i bez ogonków), za wyjątkiem ostatniej ("ę"). Czy ktoś z Was wie dlaczego tak jest? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 110 Pomógł: 13 Dołączył: 16.03.2007 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Mysle, ze moze byc to spowodowane tym, ze przed 'ę' jest spacja ktora z jakiejs przyczyny zatrzymuje zamiane kolejnych znakow.
U mnie na PHP 5.2.5 dziala prawidlowo i zamienia wszystkie znaki, ale w starszych wersjach moze byc blad. Dla pewnosci przestaw spacje na wszesniejsza pozycje (i analogicznie znak '_' w drugiej tablicy). Jesli od spacji nie bedzie zamieniac kolejnych znakow to znaczy, ze jest tak jak napisalem wyzej. P.S.: zapomniales o 'ą' (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Ten post edytował PiXel2.0 17.05.2008, 00:40:35 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 18.10.2025 - 10:15 |