Autor Zpráva
fritol33
Profil
Dobrý den,
chtěl bych se zeptat, jestli by tahle funkce fungovala i kdyby $text byla v kódování UTF8. Jestli ne, nevíte, zda existuje funkce (nenašel jsem :o( ), která zjistí, zda není $text ISO? :oX
       $text = utf8_encode($text);
       $text = Str_Replace(
  Array("á","č","ď","é","ě","í","ľ","ň","ó","ř","š","ť","ú","ů","ý","ž","Á","Č","Ď","É","Ě","Í","Ľ","Ň","Ó","Ř","š","Ť","Ú","Ů","Ý","Ž") ,
  Array("a","c","d","e","e","i","l","n","o","r","s","t","u","u","y ","z","A","C","D","E","E","I","L","N","O","R","S","T","U","U","Y","Z") ,$text);
        $text = Str_Replace(
  Array("á","č","ď","ě","é","í","ľ","ň","ó","ř","š","ť","ů","ú","ý","ž","Á","Č","Ď","É","Ě","Í","Ľ","Ň","Ó","Ř","Š","Ť","Ú","Ů","Ý","Ž") ,
  Array("a","c","d","e","e","i","l","n","o","r","s","t","u","u","y","z","A","C","D","E","E","I","L","N","O","R","S","T","U","U","Y","Z") ,$text);
return $text;
AM_
Profil
Jestli ne, nevíte, zda existuje funkce (nenašel jsem :o( ), která zjistí, zda není $text ISO?
Možná jsou funkce, které to z obsahu "odhadnou", ale ono to není tak jednoduché, protože označení kódování řetězce se nikam neukládá a řekněme když budeš mít ľ, nevíš, jestli je to český řetězec zakódovaný win-1250 (kde je to tuším ž), nebo slovenský s iso-8859-2, kde je to ľ; možná je tenhle příklad zcestný že jsem prohodil kódování nebo slováci používají pro měkké l jiný znak, ale pro nastínění problému je to snad jasné. Prostě když pracuješ s řetězcem, měl bys vědět, v jakém kódování je, většinou se to vědět dá.
TFSi
Profil
fritol33
Co to je za šaškárnu?

Mrkni sem:
http://latrine.dgx.cz/autoczech-aneb-automaticka-detekce-kodovani
http://latrine.dgx.cz/prevody-mezi-kodovanim
http://php.vrana.cz/vytvoreni-pratelskeho-url.php

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: