note 94237 added to reserved.variables.server
| From: | mirko dot steiner at slashdevslashnull dot de | Date: | Sat, 24 Oct 2009 09:43:46 +0000 |
| Subject: | note 94237 added to reserved.variables.server | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-162032@lists.php.net to get a copy of this message | ||
<?php
// RFC 2616 compatible Accept Language Parser
// http://www.ietf.org/rfc/rfc2616.txt, 14.4
Accept-Language, Page 104
// Hypertext Transfer Protocol -- HTTP/1.1
foreach (explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']) as $lang) {
$pattern = '/^(?P<primarytag>[a-zA-Z]{2,8})'.
'(?:-(?P<subtag>[a-zA-Z]{2,8}))?(?:(?:;q=)'.
'(?P<quantifier>\d\.\d))?$/';
$splits = array();
printf("Lang:,,%s''\n", $lang);
if (preg_match($pattern, $lang, $splits)) {
print_r($splits);
} else {
echo "\nno match\n";
}
}
?>
example output:
Google Chrome 3.0.195.27 Windows xp
Lang:,,de-DE''
Array
(
[0] => de-DE
[primarytag] => de
[1] => de
[subtag] => DE
[2] => DE
)
Lang:,,de;q=0.8''
Array
(
[0] => de;q=0.8
[primarytag] => de
[1] => de
[subtag] =>
[2] =>
[quantifier] => 0.8
[3] => 0.8
)
Lang:,,en-US;q=0.6''
Array
(
[0] => en-US;q=0.6
[primarytag] => en
[1] => en
[subtag] => US
[2] => US
[quantifier] => 0.6
[3] => 0.6
)
Lang:,,en;q=0.4''
Array
(
[0] => en;q=0.4
[primarytag] => en
[1] => en
[subtag] =>
[2] =>
[quantifier] => 0.4
[3] => 0.4
)
----
Server IP: 217.160.72.57
Probable Submitter: 213.157.15.238
----
Manual Page -- http://www.php.net/manual/en/reserved.variables.server.php
Edit -- https://master.php.net/note/edit/94237
Del: integrated -- https://master.php.net/note/delete/94237/integrated
Del: useless -- https://master.php.net/note/delete/94237/useless
Del: bad code -- https://master.php.net/note/delete/94237/bad+code
Del: spam -- https://master.php.net/note/delete/94237/spam
Del: non-english -- https://master.php.net/note/delete/94237/non-english
Del: in docs -- https://master.php.net/note/delete/94237/in+docs
Del: other reasons-- https://master.php.net/note/delete/94237
Reject -- https://master.php.net/note/reject/94237
Search -- https://master.php.net/manage/user-notes.php