Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [funkcja] Iso do htmla
Forum PHP.pl > Forum > Gotowe rozwi±zania > Algorytmy, klasy, funkcje
bim2
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.
Czajnick
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. ?>
rafaelb
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. ?>
UDAT
Czemu wynajdywać koło na nowo?

mb_convert_encoding" title="Zobacz w manualu PHP" target="_manual albo iconv
bim2
@UDAT Denerwuj± mnie takie posty...
Pomyslałe¶, że może komu¶ to nie działa? Chyba nie :|
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.