本文实例讲述了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程序设计有所帮助。