It is valid (albeit silly) to specify lang;q=1.000 No more than three decimals are allowed.

(rfc2616 section 3.9: Quality Values)
The language-range may contain more than one - (section 14.4) such as x-pig-latin
(section 3.10: Language Tags)
This commit is contained in:
Platonides 2011-10-19 15:15:08 +00:00
parent a8538c7d58
commit 6dbe098f27

View file

@ -962,7 +962,7 @@ HTML;
// Break up string into pieces (languages and q factors)
$lang_parse = null;
preg_match_all( '/([a-z]{1,8}(-[a-z]{1,8})?|\*)\s*(;\s*q\s*=\s*(1|0(\.[0-9]+)?)?)?/',
preg_match_all( '/([a-z]{1,8}(-[a-z]{1,8})*|\*)\s*(;\s*q\s*=\s*(1(\.0{0,3})?|0(\.[0-9]{0,3})?)?)?/',
$acceptLang, $lang_parse );
if ( !count( $lang_parse[1] ) ) {