This article is an example of how PHP detects a user's language. Share to everyone for your reference. Specifically as follows:
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
function getpreferredlanguage () {$langs = array (); if (Isset ' $_server[ Accept_language ']) {//Break up string into pieces (languages and q factors) Preg_match_all ('/([a-z]{1,8} (-[a-z]{1,8})?) S* (; s*qs*=s* (1|0.[ 0-9]+))?/I ', $_server[' http_accept_language '], $lang _parse); if (count ($lang _parse[1])) {//Create a list like "en" => 0.8 $langs = Array_combine ($lang _parse[1], $lang _parse[4]); Set default to 1 for any without Q factor foreach ($langs as $lang => $val) {if ($val = = ") $langs [$lang] = 1;} Sort list based on value Arsort ($langs, sort_numeric); }//extract most important ($langs as $lang => $val) {break;}//if complex language simplify it if (Stristr ($lang, "-")) {$tmp = explode ("-", $lang); $lang = $tmp [0];} return $lang; } |
I hope this article will help you with your PHP programming.