Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!
Zadejte Vaši e-mailovou adresu:
Kamarád fotí rád?
Přihlas ho k odběru fotomagazínu!
Zadejte e-mailovou adresu kamaráda:
PHP
Win2ascii
20. března 2000, 00.00 | Tip na on-line překódování češtiny v php z Win 1250 do ASCII. Vhodné pro odesílání informací emailem, sms ap. Plus ukázka použítí předávání parametrů funkce odkazem..
Tento tip se nezabývá kódováním češtiny na stránkách, jak by se mohlo na první pohled zdát. To přenecháme správnému nastavení serveru, či víře že uživatel používá ten správný prohlížeč..
Mnohdy se nám totiž stává že ačkoliv máme stránky s češtinou, potřebujeme část textu i bez ní, tj. v US-ASCII kódování. Jde např. o zasílání informací pomocí emailu, kde se čeština nedoporučuje. Zvláště když nevíte komu email posíláte.
Pro on-line překodování do ASCII můžete použít následující funkci:
$win2asc=array(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,
21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,
41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,
61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,
81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,
101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,
116,117,118,119,120,121,122,123,124,125,126,127,32,32,44,34,
32,32,32,32,32,37,83,174,83,84,90,90,39,39,34,34,254,45,45,
32,32,32,115,175,115,116,122,122,32,32,32,76,32,65,124,35,32,
32,83,174,191,45,32,90,248,241,32,108,44,230,249,250,32,97,
115,175,76,32,108,122,82,65,65,65,142,76,67,67,67,69,69,69,69,
73,73,68,68,78,78,79,79,79,153,32,82,85,85,85,154,89,84,225,
114,97,97,97,132,108,99,99,99,101,101,101,101,105,108,100,100,
110,110,111,111,111,148,246,114,117,117,117,129,121,116,255);
function win2ascii($str)
{
global $win2asc;
for ($i=0; $i
Která každé písmeno v textu nahradí odpovídajícím znakem v ASCII.
Na této funkci si také můžeme názorně ukázat jak fungují reference (ukazatelé) v PHP. Tj. když do funkce nepředáváme data hodnotou, ale odkazem.
Mnozí z vás to jistě znají z jiných programovacích jazyků. Zatímco předávání hodnotou má výhodu v zachování obsahu proměnné, předávání odkazem zase šetří paměť.
$test="čeština nebo ascii?";
$q=win2ascii($test); //hodnotou
echo "TEST
Jak vidíte, v prvním případě zůstala proměnná $test nezměněna, v druhém se funkce provedla nad ní.
";
echo "$q
$test
";
$q=win2ascii(&$test); //odkazem
echo "$test
";
/*
Vysledek:
TEST
cestina nebo ascii?
čeština nebo ascii?
cestina nebo ascii?
*/
-
25. listopadu 2012
-
30. srpna 2002
-
10. října 2002
-
4. listopadu 2002
-
12. září 2002
-
25. listopadu 2012
-
28. července 1998
-
31. července 1998
-
28. srpna 1998
-
6. prosince 2000
-
27. prosince 2007
-
4. května 2007