ik wil uit de HTTP_USER_AGENT het land er uit halen
Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14

hoe echo ik de "nl" of desnoods andere land codes uit de http_user_agent zonder alle andere zooi ?
hmm, volgens mij kan je het beter met een ip to country detectie doen... nadeel is dat je zoveel overhead code krijgt...
Bedankt, maar ik heb het liever via de user agent, iemand oplossingen voor mijn probleem?
is dat echt de landcode die je daar in terug vind?
volgens mij is dat iets met keyboard-laguage, want ik zie bij veel andere HTTP_USER_AGENT outputs en-us staan enzo.

maar als je het toch wilt dan moet je denk ik iets met pregmatch doen:
http://nl3.php.net/preg-match
Accept_language bedoelt Remco denk ik.
Accept_language ondersteund de hosting waar ik zit niet (anders had ik het allang opgelost.)
& @remco het is niet de keyboard language
en hoe gebruik is die preg_match overigens ?
Dat heb ik nog nooit gehoord Frankyy

Je hebt $_SERVER['HTTP_ACCEPT_LANGUAGE'] bedoel ik ;) Dat je hosting die niet ondersteunt kan ik me niet voorstellen.
ik vind het zelf ook nogal tricky. ben vrij nieuw met php dus ik weet niet precies hoe ik het in php met doen, welke functies daarvoor handig zijn. (java is een ander verhaal);

deze link legt preg_match een beetje uit:
http://www.tipsntutorials.com/tutorials/PHP/50

verder is het me met deze code gelukt om nl eruit te krijgen.
dit werkt denk ik niet in alle gevallen, tenzij ze allemaal na de 3e ; de landcode krijgen. maar het geeft misschien een beetje een idee hoe het kan
<code>
<?php

$http_user_agent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14";

preg_match('/(;.*)(;.*)(;.*)/', $http_user_agent, $matchesarray);

$str = $matchesarray[2];

echo substr($str,2);

?>
</code>
Niet dat ik het nu 100% zeker weet, heb net wat RFC documentatie nagelezen en wat andere bronnen en de conclusie die ik dan trek is dat deze lokalisatie aanduiding niet geheel officieel is volgens de HTTP 1.0/1.1 standaard en dat dit nog in de toekomst in zal worden voorzien.

Maar er kan op dit moment vanuit worden gegaan dat de lokalisatie aanduiding tussen de codenaam en het versie nummer in ligt gescheiden door de semicon.

Maar de lokalisatie code is zoals het zegt alleen de aanduiding om door te geven dat de user agent, of dit nu de browser of e-mail client (etc..etc.) is dat de software zelf in de betreffende taal wordt gebruikt ongeacht de lokalisatie instelling van de door de gebruiker ingestelde taal van het OS.


Reageren