Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Usuwanie polskich znakow
Forum PHP.pl > Forum > Przedszkole
magier123
Witam!
Znalazlem na forum funkcje ktora usuwa polskie znaki...
  1. <?php
  2. function toPermalink($string)
  3. {
  4.  
  5.  
  6. $unPretty = array('/ä/', '/ö/', '/ü/', '/Ä/', '/Ö/', '/Ü/', '/ß/',
  7. '/±/', '/ˇ/', '/ć/', '/Ć/', '/ę/', '/Ę/', '/ł/', '/Ł/' ,'/ń/', '/Ń/', '/ó/', '/Ó/', '/¶/', '/¦/', '/Ľ/', '/¬/', '/ż/', '/Ż/',
  8. '/©/','/®/','/ą/','/ľ/','/Y/','/Ŕ/','/Á/','/Â/','/Ă/','/Ä/','/Ĺ/','/Ç/','/Č/','/É/','/Ę/','/Ë/','/Ě/','/Í/','/Î/','/Ď/','/Ń/',
  9. '/Ň/','/Ó/','/Ô/','/Ő/','/Ö/','/Ř/','/Ů/','/Ú/','/Ű/','/Ü/','/Ý/','/ŕ/','/á/','/â/','/ă/','/ä/','/ĺ/','/ç/','/č/','/é/','/ę/',
  10. '/ë/','/ě/','/í/','/î/','/ď/','/ń/','/ň/','/ó/','/ô/','/ő/','/ö/','/ř/','/ů/','/ú/','/ű/','/ü/','/ý/','/˙/',
  11. '/Ţ/','/ţ/','/Đ/','/đ/','/ß/','/O/','/o/','/Ć/','/ć/','/µ/');
  12.  
  13. $pretty  = array('ae', 'oe', 'ue', 'Ae', 'Oe', 'Ue', 'ss',
  14. 'a', 'A', 'c', 'C', 'e', 'E', 'l', 'L', 'n', 'N', 'o', 'O', 's', 'S', 'z', 'Z', 'z', 'Z',
  15. 'S','Z','s','z','Y','A','A','A','A','A','A','C','E','E','E','E','I','I','I','I','N',
  16. 'O','O','O','O','O','O','U','U','U','U','Y','a','a','a','a','a','a','c','e','e','e',
  17. 'e','i','i','i','i','n','o','o','o','o','o','o','u','u','u','u','y','y',
  18. 'TH','th','DH','dh','ss','OE','oe','AE','ae','u');
  19.  
  20. $permalink = strtolower(preg_replace($unPretty, $pretty, $string));
  21. return str_replace(" ", "-", preg_replace("/[^a-zA-Z0-9 ]/", "", $permalink) );
  22.  
  23. }
  24. ?>


Chodzi mi o to ze ta funkcja usuwa mi "kropke" (robie upoload zdjec) a nie widze zeby w tej funkcji bylo usuwanie kropki....

Co mozecie poradzic?

---
Następnym razem proszę o dodanie
tagu do tematu.
---
~strife
acztery
poczytaj o preg_replace....
magier123
Hmm zrobilem to tak... pokaze razem z uploadem zdjec
  1. <?phpfunction toPermalink($string) { $unPretty = array('/ä/', '/ö/', '/ü/', '/Ä/', '/Ö/', '/Ü/', '/ß/', '/±/', '/ˇ/', '/ć/', '/Ć/', '/ę/', '/Ę/', '/ł/', '/Ł/' ,'/ń/', '/Ń/', '/ó/', '/Ó/', '/¶/', '/¦/', '/Ľ/', '/¬/', '/ż/', '/Ż/', '/©/','/®/','/ą/','/ľ/','/Y/','/Ŕ/','/Á/','/Â/','/Ă/','/Ä/','/Ĺ/','/Ç/','/Č/','/É/','/Ę/','/Ë/','/Ě/','/Í/','/Î/','/Ď/','/Ń/', '/Ň/','/Ó/','/Ô/','/Ő/','/Ö/','/Ř/','/Ů/','/Ú/','/Ű/','/Ü/','/Ý/','/ŕ/','/á/','/â/','/ă/','/ä/','/ĺ/','/ç/','/č/','/é/','/ę/', '/ë/','/ě/','/í/','/î/','/ď/','/ń/','/ň/','/ó/','/ô/','/ő/','/ö/','/ř/','/ů/','/ú/','/ű/','/ü/','/ý/','/˙/', '/Ţ/','/ţ/','/Đ/','/đ/','/ß/','/O/','/o/','/Ć/','/ć/','/µ/'); $pretty  = array('ae', 'oe', 'ue', 'Ae', 'Oe', 'Ue', 'ss', 'a', 'A', 'c', 'C', 'e', 'E', 'l', 'L', 'n', 'N', 'o', 'O', 's', 'S', 'z', 'Z', 'z', 'Z', 'S','Z','s','z','Y','A','A','A','A','A','A','C','E','E','E','E','I','I','I','I','N', 'O','O','O','O','O','O','U','U','U','U','Y','a','a','a','a','a','a','c','e','e','e', 'e','i','i','i','i','n','o','o','o','o','o','o','u','u','u','u','y','y', 'TH','th','DH','dh','ss','OE','oe','AE','ae','u'); return preg_replace($unPretty, $pretty, $string); }if($all){if (is_uploaded_file($myfile)){  copy($myfile, $myfile_name);  echo &#092;"<center><font id=sr style='color: red;'>Plik przesłano na serwer!</font></center>\";  $obrazek = imagecreatefromjpeg($myfile_name);$rozmiar = GetImageSize($myfile_name);if ($rozmiar[0] > $rozmiar[1]){ /// bardziej horyzontalny czy vertykalny  $szerokosc=120; // tutaj przypisuję na stale, ale można przypisać wartosc oryginalna, jesli nie zb
  2. t duża/mała  $wysokosc=($szerokosc / $rozmiar[0]) * $rozmiar[1]; // proporcje}else { $wysokosc=120; // jw. $szerokosc=($wysokosc / $rozmiar[1]) * $rozmiar[0];}$miniatura = imagecreatetruecolor($szerokosc, $wysokosc); // miejsce na obrazek po zmianie wymiarówimagecopyresampled($miniatura, $obrazek, 0, 0, 0, 0, $szerokosc, $wysokosc, $rozmiar[0], $rozm
    iar[1]); // zmiana rozmiaruimagedestroy($obrazek);$myfile_name2=toPermalink($myfile_name);imagejpeg($miniatura, 'min'.$myfile_name2); // zapis na dysk}?>
Ale zmienia mi tylko pierwsza litere a w reszcze zostaje "¶ćż±" itdNo i jak wie kto cos na ten temat...questionmark.gif
Daimos
po co tyle kombinowac
rozwiazanie jest o wiele prostrze:
link
magier123
Oki nie mowie ze nie jest to prostrze ale chodzi o to ze jak zrobie upload i dodam zamiane znakow to z pliku ktory nazwalem "żĽ¶±ę.jpg" robi mi "zĽ¶±ę.jpg" ( zmienia tylko pierwsza litere) a reszt za sotaje bez zmian... ??Ok mozna powiedziec ze poradzilem sobie z tym problemem bo juz mi usuwa polskie znaki tylko jeszcze jedna sprawa... jak zmienic nazwe uploadowanego pliku..... bo na serwerze zapisuje mi sie on i tak z polskimi znakami??
magier123
Fakt o kilku rzeczach moglem sam doczytac biggrin.gif no ale...
Wielkie dzieki za pomoc.... podaje skrypt ktory moze sie komus przydac....za pomoca tego skryptu mozemy przeslac zdjecie na serwer...automatycznie robi nam miniaturki i usuwa polskie znaki z nazwy pliku...

  1. <?php
  2. function toPermalink($string)
  3. {
  4.  
  5.  
  6. $unPretty = array('/ä/', '/ö/', '/ü/', '/Ä/', '/Ö/', '/Ü/', '/ß/',
  7. '/±/', '/ˇ/', '/ć/', '/Ć/', '/ę/', '/Ę/', '/ł/', '/Ł/' ,'/ń/', '/Ń/', '/ó/', '/Ó/', '/¶/', '/¦/', '/Ľ/', '/¬/', '/ż/', '/Ż/',
  8. '/©/','/®/','/ą/','/ľ/','/Y"/','/Ŕ/','/Á/','/Â/','/Ă/','/Ä/','/Ĺ/','/Ç/','/Č/','/É/','/Ę/','/Ë/','/Ě/','/Í/','/Î/','/Ď/','/Ń/',
  9. '/Ň/','/Ó/','/Ô/','/Ő/','/Ö/','/Ř/','/Ů/','/Ú/','/Ű/','/Ü/','/Ý/','/ŕ/','/á/','/â/','/ă/','/ä/','/ĺ/','/ç/','/č/','/é/','/ę/',
  10. '/ë/','/ě/','/í/','/î/','/ď/','/ń/','/ň/','/ó/','/ô/','/ő/','/ö/','/ř/','/ů/','/ú/','/ű/','/ü/','/ý/','/˙/',
  11. '/Ţ/','/ţ/','/Đ/','/đ/','/ß/','/OE/','/oe/','/Ć/','/ć/','/µ/');
  12.  
  13. $pretty  = array('ae', 'oe', 'ue', 'Ae', 'Oe', 'Ue', 'ss',
  14. 'a', 'A', 'c', 'C', 'e', 'E', 'l', 'L', 'n', 'N', 'o', 'O', 's', 'S', 'z', 'Z', 'z', 'Z',
  15. 'S','Z','s','z','Y','A','A','A','A','A','A','C','E','E','E','E','I','I','I','I','N',
  16. 'O','O','O','O','O','O','U','U','U','U','Y','a','a','a','a','a','a','c','e','e','e',
  17. 'e','i','i','i','i','n','o','o','o','o','o','o','u','u','u','u','y','y',
  18. 'TH','th','DH','dh','ss','OE','oe','AE','ae','u');
  19.  
  20. $permalink = strtolower(preg_replace($unPretty, $pretty, $string));
  21. return str_replace(" ", "_", preg_replace("/[^a-zA-Z0-9. ]/", "", $permalink) );
  22.  
  23. }
  24.  
  25. $userfile = $HTTP_POST_FILES['plik']['tmp_name'];
  26. $userfile_name = $HTTP_POST_FILES['plik']['name'];
  27. $userfile_size = $HTTP_POST_FILES['plik']['size'];
  28. $userfile_type = $HTTP_POST_FILES['plik']['type'];
  29. $userfile_error = $HTTP_POST_FILES['plik']['error'];
  30.  
  31. if ($userfile_error > 0)
  32. {
  33. echo 'Problem: ';
  34. switch ($userfile_error)
  35. {
  36. case 1: echo 'Rozmiar pliku przekroczył warto¶ć upload_max_filesize'; break;
  37. case 2: echo 'Rozmiar pliku przekroczył warto¶ć max_file_size'; break;
  38. case 3: echo 'Plik wysłany tylko czę¶ciowo'; break;
  39. case 4: echo 'Nie wysłano żadnego pliku'; break;
  40. }
  41. }
  42.  
  43. $lokalizacja = toPermalink($HTTP_POST_FILES['plik']['name']);
  44.  
  45. if (is_uploaded_file($userfile))
  46. {
  47.  if (!move_uploaded_file($userfile, $lokalizacja))
  48.  {
  49. echo 'Problem: Plik nie może być skopiowany do katalogu';
  50.  }
  51.  
  52. $obrazek = imagecreatefromjpeg($lokalizacja);
  53. $rozmiar = GetImageSize($lokalizacja);
  54.  
  55. if ($rozmiar[0] > $rozmiar[1])
  56.  
  57. { /// bardziej horyzontalny czy vertykalny
  58.  
  59.  $szerokosc=120; // tutaj przypisuję na stale, ale można przypisać wartosc oryginalna, jesli nie zb
    yt duża/mała
  60.  $wysokosc=($szerokosc / $rozmiar[0]) * $rozmiar[1]; // proporcje
  61.  
  62. }
  63. else {
  64. $wysokosc=120; // jw.
  65. $szerokosc=($wysokosc / $rozmiar[1]) * $rozmiar[0];
  66.  
  67. }
  68.  
  69. $miniatura = imagecreatetruecolor($szerokosc, $wysokosc); // miejsce na obrazek po zmianie wymiarów
  70. imagecopyresampled($miniatura, $obrazek, 0, 0, 0, 0, $szerokosc, $wysokosc, $rozmiar[0], $rozmiar[1]); // zmiana rozmiaru
  71.  
  72.  
  73. imagedestroy($obrazek);
  74.  
  75.  
  76.  
  77.  
  78. imagejpeg($miniatura, 'min'.$lokalizacja); // zapis na dysk
  79.  
  80. }
  81. ?>
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.