PHP setlocale (seznam držav in kode le-teh)
Ko potrebujemo setlocale funkcijo se zna zgoditi, da ne vemo katero kratico (kodo) uporabiti za določeno državo. Primer:
- datumi, imena mesecov pri CakePHP
- ... ali pri Smarty
- zapis decimalnih števil
Ker pa vsak strežnik nima enako bazo držav in njihovih kod je potrebno preveriti ali je željena država podprta ali ne. Koda, ki poskrbi zato:
PHP:
-
function getSystemLocales(){
-
ob_start(); // moramo uporabiti ob_start(), ker funkcijo direktno izpiše podatke (jih ne vrne kot parameter)
-
}
-
-
function localeExsists($localeName) {
-
$systemLocales = getSystemLocales();
-
-
return true;
-
}
-
-
return false;
-
}
Ob_clean se lahko uporablja tudi za uporabniku prijazna sporočila. V primeru, da ste uspešno nastavili željeno locale nastavitev ampak vam nagajajo šumniki, potem morate dodati še charset (kodno tabelo), primer:
PHP:
Viri za seznam držav in njihovih kod:
- Codes for the Representation of Names of Languages
- Country Code List: ISO 3166-1993
- Najboljši vir, vzamete Territory in Language. Primer: sl_SI
- Primer nastavljanje locale nastavitve v ZEND framework
Datoteke:
- Primer delujoče kode za pregledovanje ali je določena država podprta ali ne, nastavljanje z setLocale() in izpis vseh podprtih držav na strežniku
- Koda v inc formatu
P.S: Tukaj napisano gre zasluga tudi Tomaž-u Leban-u.
Podobni članki:
- AJAX iskanje datotek, dodajanje v seznam ter predogled le teh (PDF, jpeg)
- AJAX iskanje in dodajanje v seznam (select) z dodatnimi informacijami
- Javascript – delci uporabne kode
- Rezanje teksta po koncu besede – php funkcija – substr – cut text – UTF-8
- Šumniki – UTF-8 – Težave – PHP & MySQL
- PHP – delo z UTF-8 stringi oz. podatki – težave s šumniki (č,š,ž)
- PHP funkcije v Javascript jeziku – isset
- Optimizacija PHP kode – prezgodnja optimizacija je zlo – apache ab testiranje
- PHP – izdelava galerije – preprosta skripta za prikazovanje slik
- SVN varnostni problem – dostop do izvorne kode preko domena.com/.svn/ URL-ja



March 21st, 2008 ob 10:25 am
[...] PHP setLocale in seznam kod za države [...]
July 8th, 2008 ob 8:36 am
v komentarju kode si napisal da passthru() direkt vrne rezultat, in zato tudi uporaba ob_*;
vendar lahko funkciji kod drugi parameter dodaš spremenljivko, v katero bo shranjen rezultat.
lp
July 8th, 2008 ob 4:50 pm
glavic, imaš prav, ampak na nekaterih sistemih potem pride do:
Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of passthru().