Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Usuwanie polskich znakow
Octobus
post
Post #1





Grupa: Zarejestrowani
Postów: 259
Pomógł: 1
Dołączył: 3.07.2011

Ostrzeżenie: (0%)
-----


Mam skrypt który usuwa polskie znaki:

  1. function usun_polskie_znaki($tekst){
  2. $tabela = Array(
  3. //WIN
  4. "\xb9" => "a", "\xa5" => "A", "\xe6" => "c", "\xc6" => "C",
  5. "\xea" => "e", "\xca" => "E", "\xb3" => "l", "\xa3" => "L",
  6. "\xf3" => "o", "\xd3" => "O", "\x9c" => "s", "\x8c" => "S",
  7. "\x9f" => "z", "\xaf" => "Z", "\xbf" => "z", "\xac" => "Z",
  8. "\xf1" => "n", "\xd1" => "N",
  9. //UTF
  10. "\xc4\x85" => "a", "\xc4\x84" => "A", "\xc4\x87" => "c", "\xc4\x86" => "C",
  11. "\xc4\x99" => "e", "\xc4\x98" => "E", "\xc5\x82" => "l", "\xc5\x81" => "L",
  12. "\xc3\xb3" => "o", "\xc3\x93" => "O", "\xc5\x9b" => "s", "\xc5\x9a" => "S",
  13. "\xc5\xbc" => "z", "\xc5\xbb" => "Z", "\xc5\xba" => "z", "\xc5\xb9" => "Z",
  14. "\xc5\x84" => "n", "\xc5\x83" => "N",
  15. //ISO
  16. "\xb1" => "a", "\xa1" => "A", "\xe6" => "c", "\xc6" => "C",
  17. "\xea" => "e", "\xca" => "E", "\xb3" => "l", "\xa3" => "L",
  18. "\xf3" => "o", "\xd3" => "O", "\xb6" => "s", "\xa6" => "S",
  19. "\xbc" => "z", "\xac" => "Z", "\xbf" => "z", "\xaf" => "Z",
  20. "\xf1" => "n", "\xd1" => "N");
  21.  
  22. return strtr($tekst,$tabela);
  23. }


Radzi sobie z tym perfekcyjnie, ale daje krzak przy słowie
Kod
ze Australia

Wynikiem dzialania funkcji na to slowo jest:
Kod
ze ​​Australia


Probowalem to usunac przez str_replace ale nie dalo rady ;/
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
tolomei
post
Post #2





Grupa: Zarejestrowani
Postów: 450
Pomógł: 135
Dołączył: 18.11.2010
Skąd: Wschowa

Ostrzeżenie: (0%)
-----


Witaj.

Uruchom sobie poniższy kod, w linii 51. wpisz tekst, który konwertuje się źle.
Zrób posta z tym co Ci się wyświetli.

  1. <?php
  2. $tabela = Array(
  3. //WIN
  4. "\xb9" => "a", "\xa5" => "A", "\xe6" => "c", "\xc6" => "C",
  5. "\xea" => "e", "\xca" => "E", "\xb3" => "l", "\xa3" => "L",
  6. "\xf3" => "o", "\xd3" => "O", "\x9c" => "s", "\x8c" => "S",
  7. "\x9f" => "z", "\xaf" => "Z", "\xbf" => "z", "\xac" => "Z",
  8. "\xf1" => "n", "\xd1" => "N",
  9. //UTF
  10. "\xc4\x85" => "a", "\xc4\x84" => "A", "\xc4\x87" => "c", "\xc4\x86" => "C",
  11. "\xc4\x99" => "e", "\xc4\x98" => "E", "\xc5\x82" => "l", "\xc5\x81" => "L",
  12. "\xc3\xb3" => "o", "\xc3\x93" => "O", "\xc5\x9b" => "s", "\xc5\x9a" => "S",
  13. "\xc5\xbc" => "z", "\xc5\xbb" => "Z", "\xc5\xba" => "z", "\xc5\xb9" => "Z",
  14. "\xc5\x84" => "n", "\xc5\x83" => "N",
  15. //ISO
  16. "\xb1" => "a", "\xa1" => "A", "\xe6" => "c", "\xc6" => "C",
  17. "\xea" => "e", "\xca" => "E", "\xb3" => "l", "\xa3" => "L",
  18. "\xf3" => "o", "\xd3" => "O", "\xb6" => "s", "\xa6" => "S",
  19. "\xbc" => "z", "\xac" => "Z", "\xbf" => "z", "\xaf" => "Z",
  20. "\xf1" => "n", "\xd1" => "N"
  21. );
  22. function stringTest($spre) {
  23. global $tabela;
  24.  
  25. $spost = strtr($spre, $tabela);
  26. $cpre = strlen($spre);
  27. $cpost = strlen($spost);
  28. $apre = array();
  29. $apost = array();
  30. $hex = array();
  31.  
  32. for ($i=0; $i < $cpre; $i++) {
  33. $apre[] = array(
  34. 'hex' => dechex(ord($spre[$i])),
  35. 'ent' => '&#x'.dechex(ord($spre[$i])).';'
  36. );
  37. }
  38. for ($i=0; $i < $cpost; $i++) {
  39. $apost[] = array(
  40. 'hex' => dechex(ord($spost[$i])),
  41. 'ent' => '&#x'.dechex(ord($spost[$i])).';'
  42. );
  43. }
  44. $hex = array(
  45. 'pre' => $apre,
  46. 'post' => $apost
  47. );
  48. return $hex;
  49. }
  50. echo '<pre>';
  51. print_r(stringTest('tu wpisz tekst'));
  52. echo '</pre>';


Pozdrawiam.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 9.10.2025 - 01:39