Autor Zpráva
farradox
Profil
Zdravím,
mám menší problém. Stáhnul jsem seznam ulic z http://aplikace.mvcr.cz/adresa/xml.html a veškeré názvy jsou tam ve formátu "PRAHA" a né "Praha". Nemáte někdo nápad jak ty názvy měst a ulic získat "normální" formě?

Díky za rady
pEeLL
Profil
php
ucfirst(strtolower("PRAHA")


a pres foreach projit cele pole.
farradox
Profil
Tohle vyhodí "Hradec králové" a králové je s malým "k", takže je tam gramatická chyba. Přes ucfirst() jste mě přivedl k ucwords(), který už vypíše "Hradec Králové". No, ale co když přijde "Hradec nad Moravicí" :-) Jde mi o tenhle problém a ještě horší je to vlastně u ulic. Vím, že to nevyřeším přes php kód, ale šlo mi spíše o nějaký jiný zdroj nebo propojení s nějakou další databází...
Keeehi
Profil
farradox:
Použít ucwords() a následně ještě najít předložky a nahradit je Nad => nad, třeba funkcí str_replace().
farradox
Profil
Ty předložky mě napadly jako jediné řešení a stejně by jsem neošetřil úplně všechno. Navíc mám problém s funkcí ucwords(), která nepřevede malé znaky s háčky na velké. Nevíte, jak to vyřešit? Na internetu jsem nic nenašel a používám kódování UTF-8.
Keeehi
Profil
farradox:
Toto by mělo fungovat s utf (ucwords). Namísto ucwords() budeš používat mb_ucwords. Toto, co následuje, si tam musíš nakopírovat taky.
<?php
      if(!function_exists('mb_ucwords'))
      {
            function mb_ucwords($str)
            {
                  return mb_convert_case($str, MB_CASE_TITLE, "UTF-8");
            }
      }
?>


Zde jsou funkce, které je dobré používat, pokud používáš vícebitová kódování.
farradox
Profil
Paráda :) Díky moc.
Sice u ulic budu muset vypisovat každé slovo s velkým písmenem, protože mě nenapadlo žádné rozumné ošetření. Přesto to vypadá o 100% lépe. Díky

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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