Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Skrypt zamiany znaków
Forum PHP.pl > Forum > PHP
Piro
Witam,

Napisałem skrypt który ma zamieniać polskie znaki na łacinę. Przy jego użyciu pojawia się problem ponieważ litera "±" jest czytana jako "zz" ("¶" jako "nc" itd).

Oto funkcja:
  1. function przetworzenie($string){
  2. $string = strtr($string, 'ĘęÓ󡱦¶Łł¬ĄŻżĆćŃń', 'EeOoAaSsLlZzZzCcNn');
  3. $string = preg_replace("'[[:punct:][:space:]]'",'_',$string);
  4. $string = strtolower($string);
  5. $znaki = '_';
  6. $powtorzen = 1;
  7. $string = preg_replace_callback('#(['.$znaki.'])\1{'.$powtorzen.',}#', create_function('$a', 'return substr($a[0], 0,'.$powtorzen.');'), $string);
  8. return $string;
  9. }


Nie wiem w którym miejscu mam bł±d.

Pozdrawiam,
Piro
mayu11
  1. function przetworzenie($string){
  2. $s = array('Ę','ę','Ó','ó','ˇ','±','¦','¶','Ł','ł','¬','Ą','Ż','ż','Ć','ć','Ń','ń');
  3. $r = array('E','e','O','o','A','a','S','s',L','l','Z','z',Z','z','C','c','N','n');
  4. $string = str_replace($s,$r,$string);
  5. return $string;
  6. }


O to chodziło?
Mustava
Moim zdaniem dobór odpowiedniego kodowania znaków wej¶ciowych
motyl-pl
U siebie tak miałem i działało
  1. $nazwa = $pobrane['nazwa'];
  2. $wejscie = array("ˇ", "¦", "Ę", "Ł", "Ó", "Ż", "¬", "¦", " ");
  3. $wyjscie = array("a", "c", "e", "l", "o", "z", "z", "s", "-");
  4. $nazwa_link = str_replace($wejscie, $wyjscie, $nazwa);


Tylko małe litery by¶ musiał dopisać i sprawdzić czy u Ciebie ¶migać będzie



Nie oceniać kodu proszę bo to dawno było tongue.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.