Autor | Zpráva | ||
---|---|---|---|
OnZ Profil |
#1 · Zasláno: 12. 12. 2008, 15:22:02 · Upravil/a: OnZ
Zdravím, chtěl bych se zeptat. Pracuji na jedno projeltu a potřeboval bych otestovat fungování 2 proměnných: $HTTP_ACCEPT_LANGUAGE, $HTTP_USER_AGENT.
Při použití: echo $HTTP_USER_AGENT; echo $HTTP_ACCEPT_LANGUAGE; Je takový to výsledek: Mozilla/5.0 (Windows; U; Windows NT 5.1; cs; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4 cs 1) A já tento obsah upravuji: pokud je cs vypíše to Česká Republika a já bych potřeboval aby tu vypsalo i v případej jiných zemí. Neexistuje nějaká tabulka kde by byly zkratky všech zemí, které to může vypsat? 2) V případě že to vypíše: Mozilla/5.0 (Windows; U; Windows NT 5.1; cs; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4 Bych z tohto kousku kódu potřeboval vytáhnout jen některá data aby výsledek vypadal takto: $os = "Windows XP" a $prohlizec = "Firefox 3.0.4"; Samozdřejmě že v případě jiných OS a prohlížeču by se hodnoty těchto proměnných měnily. Předem díky |
||
bohyn Profil |
#2 · Zasláno: 12. 12. 2008, 15:42:13
OnZ
Pouzivej $_SERVER['USER_AGENT'] a $_SERVER['ACCEPT_LANGUAGE'] Na parsovani User-agent stringu se hodi regularni vyrazy v databazi. Jestli delas pocitadlo tak je lepsi (a mnohem jednodussi) pouzit treba Google analytics. Accept-language muze byt i divocejsi a neznamena zemi odkud uzivatel je, ale jake jazyky preferuje. Treba tohle mam ja: en,cs-CZ;q=0.9,cs;q=0.8 Podivej se treba do Opery na Jazyky, je jich tam vic nez dost. |
||
Měsíček Profil |
#3 · Zasláno: 12. 12. 2008, 15:43:58
Již tady jsi se ptal na regulární výrazy, tak proč se je neučíš? Kdyby jsi nebyl línej už jsi mohl mít [2] hotovou.
|
||
OnZ Profil |
#4 · Zasláno: 12. 12. 2008, 19:27:50 · Upravil/a: OnZ
Měsíček
Regulární výraz kontroluje celou proměnou to znamená, že když budu v Mozilla/5.0 (Windows; U; Windows NT 5.1; cs; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4 hledat Firefox tak nenajde. Nějak jem vás nepochopil |
||
OnZ Profil |
#5 · Zasláno: 12. 12. 2008, 19:28:59
* Jsem ( nechce mě pustit antispam )
|
||
Měsíček Profil |
#6 · Zasláno: 12. 12. 2008, 19:30:49
"Regulární výraz kontroluje celou proměnou to znamená, že když budu v Mozilla/5.0 (Windows; U; Windows NT 5.1; cs; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4 hledat Firefox tak nenajde. "
A na to jsi přišel kde, prosím? Pomocí [R] výrazu vytáhneš vše co je od Gecko / po další / a pak jen ořízneš vše co je od druhého / po mezeru a "Firefox" je na světě. |
||
OnZ Profil |
#7 · Zasláno: 12. 12. 2008, 20:45:49
To jo ale já potřebuji i verzi Firefoxu a pak jen Windows NT 5.1 nebo jiný Windows
|
||
Měsíček Profil |
#8 · Zasláno: 12. 12. 2008, 20:47:54
No však ano, [R] výraz toho dokáže vytáhnout klidně i více, koukni na ty základy není to nic těžkého.
|
||
Časová prodleva: 15 let
|
0