Versio

land detectie

Overzicht Reageren

Frankyy

Frankyy

26/05/2008 13:59:00
Quote Anchor link
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 ?
Gewijzigd op 01/01/1970 01:00:00 door Frankyy
 
PHP hulp

PHP hulp

25/05/2012 07:37:33
Gesponsorde koppelingen:
BHosted Hosting al vanaf € 1,- per maand

Controleer nu gratis jouw domeinnaam:

  
 
Crispijn -

Crispijn -

26/05/2008 14:04:00
Quote Anchor link
hmm, volgens mij kan je het beter met een ip to country detectie doen... nadeel is dat je zoveel overhead code krijgt...
 
Frankyy

Frankyy

26/05/2008 14:11:00
Quote Anchor link
Bedankt, maar ik heb het liever via de user agent, iemand oplossingen voor mijn probleem?
 
Remco

Remco

26/05/2008 15:17:00
Quote Anchor link
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
 
Robert Deiman

Robert Deiman

26/05/2008 15:35:00
Quote Anchor link
Accept_language bedoelt Remco denk ik.
 
Frankyy

Frankyy

26/05/2008 16:03:00
Quote Anchor link
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 ?
Gewijzigd op 01/01/1970 01:00:00 door Frankyy
 
Robert Deiman

Robert Deiman

26/05/2008 16:23:00
Quote Anchor link
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.
 
Remco

Remco

26/05/2008 19:30:00
Quote Anchor link
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>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?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>
 
Danny Roelofs

Danny Roelofs

26/05/2008 19:56:00
Quote Anchor link
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.
 



Overzicht Reageren