From: Platonides Date: Wed, 19 Oct 2011 15:15:08 +0000 (+0000) Subject: It is valid (albeit silly) to specify lang;q=1.000 No more than three decimals are... X-Git-Tag: 1.31.0-rc.0~27008 X-Git-Url: http://git.cyclocoop.org//%27%40script%40/%27?a=commitdiff_plain;h=6dbe098f27e3be519c15ac3b1f5da5efb19a921c;p=lhc%2Fweb%2Fwiklou.git 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) --- diff --git a/includes/WebRequest.php b/includes/WebRequest.php index 2721a5bcc2..daab86f1bd 100644 --- a/includes/WebRequest.php +++ b/includes/WebRequest.php @@ -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] ) ) {