Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zmiana polskich znakow na...
Forum PHP.pl > Forum > PHP
kociou1
Szukam sposobu w który łatwo szybko i przyjemnie pomoże mi zamieniś wszystkie polskie znaki na ich pozbawione ogonkow odpowiedniki.
Potrzebne mi to do skryptu uploadu - np. jak user bedzie próbował uploadować plik "piękne źdźbło.gif" to żeby na serwerza plik został zapisany pod nazwą "piekne_zdzblo.gif" albo ostatecznie jako "pi_kne__d_b_o.gif"

Druga sprawa - próbowałem konwertować nazwy uploadowanych plików za pomocą urldecode/encode, ale niestety jak wpisze do przeglądarki adres "http://nazwa serwera/Zdj%EAcie%285%29.jpg" to dostaję błąd 404 mimo że plik o takiej (zakodowanej) nazwie istnieje w tej lokalizacji. Dlaczego??
sobstel
Cytat(kociou1 @ 2004-12-26 20:03:19)
Szukam sposobu w który łatwo szybko i przyjemnie pomoże mi zamieniś wszystkie polskie znaki na ich pozbawione ogonkow odpowiedniki.

niekoniecznie jest to przyjemne, ale można korzystając z funkcji strtr" title="Zobacz w manualu PHP" target="_manual np.

$conversion_array=array('ą'=>'a','Ą'=>'A' itp.)
$str=strtr($str,$conversion_array);
bregovic
Cytat(kociou1 @ 2004-12-26 20:03:19)
Druga sprawa - próbowałem konwertować nazwy uploadowanych plików za pomocą urldecode/encode, ale niestety jak wpisze do przeglądarki adres "http://nazwa serwera/Zdj%EAcie%285%29.jpg" to dostaję błąd 404 mimo że plik o takiej (zakodowanej) nazwie istnieje w tej lokalizacji. Dlaczego??

Dlaczego ptaki śpiewają? Czemu progrmiści przeglądarek, serwerów i systemów plików nie przyjeli od początku jednolitego rozwiązania które nie doprowadziłoby do aktualnego stanu żeczy? To faktycznie dobre pytaia.

Co do tego co napisał sopel to chyba jest najlepsze wyjście.
kociou1
Tak jak napisał sopel podane przez niego rozwiązanie niekoniecznie jest przyjemne - aczkolwiek nie mozna mu poza tym nic zarzucić.
ja muślałem raczej o podaniu zakresu znaków: [A-z][a-z][0-9]_- i zamienieniu wszystkiego co nie spelnia tych kryteriów np. na _ jednak za cienki jestem w wyrażeniach regularnych żeby coś takiego szybko i bez bólu zmajstrować więc jeśli można (jeśli dobrze myślę i w zakresie znaków [A-Z] nie zawierają się te z ogonkami) prosze o pomoc smile.gif

Co do drugiej kwestii... obok pytania dlaczego powinno być jeszcze pytanie "jak zrobić żeby działało tak jak się tego człowiek spodziewa smile.gif" skoro istnieją takie funkcie (urlencode/decode) to chyba jest jakiś rozsądny i w miarę uniwersalny sposób użycia ich...
Chyba że znowu się mylę
crash
No w sumie sam sobie napisales (prawie) dobre wyrazenie:
  1. <?php
  2. $tekst = ereg_replace('[^a-zA-Z0-9_]', '_', $tekst);
  3. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.