Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [funkcja] Iso do htmla, ... kodowanie znaków
bim2
post
Post #1





Grupa: Zarejestrowani
Postów: 1 873
Pomógł: 152
Dołączył: 9.04.2006
Skąd: Berlin

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


Bardzo przydatne jest gdy macie problemy z kodowaniem w ajaxie ;P gdy używacie iso smile.gif jak wiadomo ajax sparsuje html'a więc znaki też powinno sparsować winksmiley.jpg.
Funkcja :
  1. <?
  2. function iso2utf($str)
  3. {
  4.  
  5. $znaki = array(
  6. 'Ó' => 'Ó',
  7. 'ó' => 'ó',
  8. 'ˇ' => 'Ą',
  9. 'ą' => 'ą',
  10. 'Ć' => 'Ć',
  11. 'ć' => 'ć',
  12.  
  13. 'Ę' => 'Ę',
  14. 'ę' => 'ę',
  15. 'Ł' => 'Ł',
  16. 'ł' => 'ł',
  17. 'Ń' => 'Ń',
  18. 'ń' => 'ń',
  19.  
  20. 'Ś' => 'Ś',
  21. 'ś' => 'ś',
  22. 'Ź' => 'Ź',
  23. 'Ľ' => 'ź',
  24. 'Ż' => 'Ż',
  25. 'ż' => 'ż',
  26. );
  27. foreach($znaki AS $co => $na_co)
  28. {
  29. $str = str_replace($co, $na_co, $str);
  30. }
  31. return $str;
  32. }
  33. ?>

i przykald uzycia:
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <title>{G_TITLE}</title>
  6. <meta http-equiv="Content-Type"
  7. content="text/html; charset=iso-8859-2" />
  8. </head>
  9. <body>
  10. <?
  11. echo iso2utf('śżćĽął');
  12. ?>
  13. </body>
  14. </html>

Prosze o opinie. Znaki html wzięte z strony: http://konfiguracja.pochta.ru/plitery.html (podgląd żródła) ;P

Ja uzywam tego gdy ajax koduje w utf a ja mam iso smile.gif Efekt mozna zobaczyc na http://nfscg.info/x-trim3/ i dac np zły email ;P


Pozdrawia Bim.

Ten post edytował bim2 16.08.2006, 18:05:27


--------------------
Go to the top of the page
+Quote Post
Czajnick
post
Post #2





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 3.07.2005

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


Oto moja funkcja do podobnych celów.

  1. <?php
  2. /*
  3. Funkcja do konwersji polskich znakow miedzy roznymi systemami kodowania.
  4. Zwraca skonwertowany tekst.
  5.  
  6. Argumenty:
  7. $source - string - źródłowe kodowanie
  8. $dest - string - źródłowe kodowanie
  9. $tekst - string - tekst do konwersji
  10.  
  11. Obsługiwane formaty kodowania to:
  12. POLSKAWY (powoduje zamianę polskich liter na ich łacińskie odpowiedniki)
  13. ISO-8859-2
  14. WINDOWS-1250
  15. UTF-8
  16. ENTITIES (zamiana polskich znaków na encje html)
  17.  
  18. Przyklad:
  19. echo(PlConvert('UTF-8','ISO-8859-2','Zażółć gęślą jaźń.'));
  20. */
  21. function PlConvert($source,$dest,$tekst)
  22. {
  23. $source=strtoupper($source);
  24. $dest=strtoupper($dest);
  25. if($source==$dest) return $tekst;
  26.  
  27. $chars['POLSKAWY'] =array('a','c','e','l','n','o','s','z','z','A','C','E','L','N','O','S','Z','Z');
  28. $chars['ISO-8859-2'] =array("xB1","xE6","xEA","xB3","xF1","xF3","xB6","xBC","xBF","xA1","xC6","xCA","xA3","xD1","xD3","xA6","xAC","xAF");
  29. $chars['WINDOWS-1250']=array("xB9","xE6","xEA","xB3","xF1","xF3","x9C","x9F","xBF","xA5","xC6","xCA","xA3","xD1","xD3","x8C","x8F","xAF");
  30. $chars['UTF-8']  =array('ą','ć','ę','ł','ń','ó','ś','ź','ż','Ą','Ć','Ę','Ł','Ń','Ó','Ś','Ź','Ż');
  31. $chars['ENTITIES'] =array('ą','ć','ę','ł','ń','ó','ś','ź','ż','Ą','Ć','Ę','Ł','Ń','Ó','Ś','Ź','Ż');
  32.  
  33. if(!isset($chars[$source])) return false;
  34. if(!isset($chars[$dest])) return false;
  35.  
  36. return str_replace($chars[$source],$chars[$dest],$tekst);
  37. }
  38. ?>
Go to the top of the page
+Quote Post
rafaelb
post
Post #3





Grupa: Zarejestrowani
Postów: 49
Pomógł: 2
Dołączył: 17.01.2004

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


Cytat(Czajnick @ 19.11.2006, 23:02:38 ) *
Oto moja funkcja do podobnych celów.

  1. <?php
  2. $chars['ENTITIES'] =array('ą','ć','ę','ł','ń','ó','ś','ź','ż','Ą','Ć','Ę','Ł','Ń','Ó','Ś','Ź','Ż');
  3. }
  4. ?>


Chyba tutaj brakowało tego
  1. <?php
  2. $chars['ENTITIES']=array('ą','ć','ę','ł','ń','ó','ś','ź','ż','Ą','Ć','Ę','Ł','Ń','ň','Ś','Ź','Ż');
  3. ?>
Go to the top of the page
+Quote Post
UDAT
post
Post #4





Grupa: Zarejestrowani
Postów: 442
Pomógł: 0
Dołączył: 27.12.2005

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


Czemu wynajdywać koło na nowo?

mb_convert_encoding" title="Zobacz w manualu PHP" target="_manual albo iconv

Ten post edytował UDAT 6.07.2007, 12:49:02
Go to the top of the page
+Quote Post
bim2
post
Post #5





Grupa: Zarejestrowani
Postów: 1 873
Pomógł: 152
Dołączył: 9.04.2006
Skąd: Berlin

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


@UDAT Denerwują mnie takie posty...
Pomyslałeś, że może komuś to nie działa? Chyba nie :|


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.08.2025 - 22:00