Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: PHP - htmlentities
Forum PHP.pl > Forum > Przedszkole
neoski
Witam! Mam mały problem z htmlentities. Nie ma tam żadnego kodowania, które mogło by zamienić to "êó±¶³¿¼æñ" na polskie literki. Znalazłem jednak taki skrypcik:
  1. <?php
  2. function htmlentities_iso88592($string='') {
  3.  $pl_iso = array('&ecirc;', '&oacute;', '&plusmn;', '&para;', '&sup3;', '&iquest;', '&frac14;', '&aelig;', '&ntilde;', '&Ecirc;', '&Oacute;', '&iexcl;', '&brvbar;', '&pound;', '&not;', '&macr;', '&AElig;', '&Ntilde;');
  4.  $entitles = get_html_translation_table(HTML_ENTITIES);
  5.  $entitles = array_diff($entitles, $pl_iso);
  6.  return strtr($string, $entitles);
  7. }
  8. ?>


Podobno zamienia on znaczki na polskie. Nie wiem jednak jak mam go użyć.
Wpisywałem takie:
  1. <?php
  2. $titre = htmlentities($titre, ENT_COMPAT, 'ISO8859-2');
  3. ?>

  1. <?php
  2. $titre = htmlentities($titre, ENT_COMPAT, 'ISO88592');
  3. ?>

  1. <?php
  2. $titre = htmlentities($titre, ENT_COMPAT, 'pl_iso');
  3. ?>

Niestety bez skutku.

Wie ktoś może jak temu zaradzić?

Pozdrawiam.
s_w_ir
Jeżeli chcesz uzyskać że po przekazaniu do funkcji np. "&para;"; wypisze ci ś to tak nie działa. Jeżeli używasz kodowania iso-8859-2 to przecież pozamienia Ci te obce znaczki na nasze polskie litery.



***Edit***
Nie wiem jak wkleiłeś te obce znaczki tu na forum. Jak ja wklejam to od razu mi przerabia na kod html dry.gif
neoski
Cytat
Jeżeli chcesz uzyskać że po przekazaniu do funkcji np. "&para;"; wypisze ci ś to tak nie działa.
No to kurde co ja mam zrobić...

Cytat
Jeżeli używasz kodowania iso-8859-2 to przecież pozamienia Ci te obce znaczki na nasze polskie litery.
No i właśnie sęk w tym, że nie zamienia.

Żeby nie było... ja to wszystko robie na CMS'ie nuked-klan. Na ich forum jest niby wytłumaczone jak zrobić tak, aby były polskie znaczki, ale mimo to nie potrafię. Może niech ktoś tutaj looknie i mi powie o co w tym chodzi.
s_w_ir
Wynika z tego że musisz edytować pliki tego CMSa i poszukiwać wierszy
  1. <?php
  2. $titre = htmlentities($titre);
  3.  
  4. ?>
i zastępować je
  1. <?php
  2. $titre = htmlentities($titre, ENT_COMPAT, 'Windows-1251');
  3. ?>
neoski
Problem w tym, że żadne z tych kodowań nie zawiera polskich znaczków.
s_w_ir
Z jakich kodowań? iso-8859-2 ma jak najbardziej polskie znaczki. A żeby korzystać po tej modyfikacji kodu z polskich znaczków musisz też kodowanie na stronce zmienić na Windows-1251. szczerze powiedziawszy to o kant d*** rozbić takiego cmsa i to całe windowsowe kodowanie Windows-1251.
neoski
Cytat
Z jakich kodowań?
Z tych http://pl.php.net/htmlentities

Cytat
A żeby korzystać po tej modyfikacji kodu z polskich znaczków musisz też kodowanie na stronce zmienić na Windows-1251.
Windows-1251 to jest jakieś ruskie kodowanie :?. Zmieniam w tym cmsie na tego 1251, zmieniam też na stronce i mam taki efekt: ку±¶іїјжс.
s_w_ir
No już widze. Polskie kodowanie windows to Windows-1250 , ale niestety nie jest obsługiwane. Teraz to juz nie wiem co zrobic z tym problemem. Ja bym radził po prostu wybrac coś z lokalnej polskiej oferty, albo pousuwać te funkcje z tego cmsa.

edit
...albo znjadź sobie wersje 1.6 tego cmsa, bo tam było ok wszytsko
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.