Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Zmiana polskich znaków na te bez ogonków
Forum PHP.pl > Forum > Przedszkole
Marek607
Witam wszystkich smile.gif

Potrzebuje waszej pomocy.

Mianowicie edytuje sobie skrypt tak żeby był ,,po mojemu" i natrafilem na problem.

Edytwałem kawałek kodu odpowiadaj±cy na zamianę znaków specjalnych na normalne tzn bez ogonków.

Wygl±da on tak:

  1. function totranslit($var, $lower = true, $punkt = true) {
  2.  
  3. if ( is_array($var) ) return "";
  4.  
  5. $NpjLettersFrom = "Ľęół¶±żćń";
  6. $NpjLettersTo = "zeolsazcn";
  7. $NpjBiLetters = array ("Ľ" => "z", "ę" => "e", "ó" => "o", "ł" => "l", "¶" => "s", "±" => "a", "ż" => "z", "ć" => "c", "ń" => "n" );
  8.  
  9. $NpjCaps = "QWERTYUIOPLKJHGFDSAZXCVBNM";
  10. $NpjSmall = "qwertyuioplkjhgfdsazxcvbnm";
  11.  
  12. $var = str_replace( ".php", "", $var );
  13. $var = trim( strip_tags( $var ) );
  14. $var = preg_replace( "/\s+/ms", "-", $var );
  15. $var = strtr( $var, $NpjCaps, $NpjSmall );
  16. $var = strtr( $var, $NpjLettersFrom, $NpjLettersTo );
  17. $var = strtr( $var, $NpjBiLetters );
  18.  
  19. if ( $punkt ) $var = preg_replace( "/[^a-z0-9\_\-.]+/mi", "", $var );
  20. else $var = preg_replace( "/[^a-z0-9\_\-]+/mi", "", $var );
  21.  
  22. $var = preg_replace( '#[\-]+#i', '-', $var );
  23.  
  24. if ( $lower ) $var = strtolower( $var );
  25.  
  26. if( strlen( $var ) > 200 ) {
  27.  
  28. $var = substr( $var, 0, 200 );
  29.  
  30. if( ($temp_max = strrpos( $var, '-' )) ) $var = substr( $var, 0, $temp_max );
  31.  
  32. }
  33.  
  34. return $var;
  35. }


Problem w tym że nie zamienia mi 3 literek: ¶,± i ż . Zamiast nich nie mam nic (żadnego przecinka, my¶lnika itp.)

Uprzejmię prosze o pomoc smile.gif

Pozdrawiam.
Kshyhoo
Może tak:
  1. $a = array('±','ć','ę','ł','ń','ó','¶','Ľ','ż','ˇ','Ć','Ę','Ł','Ń','Ó','¦','¬','Ż');
  2. $b = array('a','c','e','l','n','o','s','z','z','A','C','E','L','N','O','S','Z','Z');
  3. $c = str_replace($a, $b, $c);
Marek607
teraz mi wogóle nie zamienia polskich znaków, tylko mam wszystko z ogonkami.
DiH
Pierwsza pozycja z UCN: chr lub http://www.php.net/manual/en/function.chr.php#72145
Marek607
wymy¶liłem.

Mam kodowanie ISo i zamiast ¶ i ± wstawiłem ¶ i ±

czy ma kto¶ w formie do wstawienia (nie obrazek) to: questionmark.gifquestionmark.gif?
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.