本文实例讲述了PHP检测用户语言的方法。分享给大家供大家参考。具体如下:
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 [ 'HTTP_ACCEPT_LANGUAGE' ])) {
// break up string into pieces (languages and q factors)
preg_match_all( '/([a-z]{1,8}(-[a-z]{1,8})?)\s*(;\s*q\s*=\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 (first)
foreach ( $langs as $lang => $val ) { break ; }
//if complex language simplify it
if ( stristr ( $lang , "-" )) { $tmp = explode ( "-" , $lang ); $lang = $tmp [0]; }
return $lang ;
}
|
希望本文所述对大家的php程序设计有所帮助。