par
Hywan » 13 janv. 2008, 03:14
Bonsoir,
l'expression régulière n'est pas assez correcte.
Il faut regarder la
RFC 2616 pour avoir plus d'informations (après la documentation, les RFCs

—
encore plus chiiiant —).
(page 103)
14.4 Accept-Language
The Accept-Language request-header field is similar to Accept, but
restricts the set of natural languages that are preferred as a
response to the request. Language tags are defined in section 3.10.
Code : Tout sélectionner
Accept-Language = "Accept-Language" ":"
1#( language-range [ ";" "q" "=" qvalue ] )
language-range = ( ( 1*8ALPHA *( "-" 1*8ALPHA ) ) | "*" )
L'expression régulière se déduit :
J'ai fais quelque chose d'équivalent, en plus complet (environ 100 lignes de codes). Mais ça ne retourne que la langue qui a la plus forte préférence, ou la plus faible. Je traite toutes les préférences, mais le résultat c'est le max ou le min. Au passage, on pense à réécrire le résultat de façon standard (XX_xx,
cf l'iso-3166-1_alpha-2). Je valide aussi le résultat, et s'il n'est pas cohérent, tente d'en trouver un.
C'est une méthode qui fait parti du package Hoa_Locale. Hoa sortira bientôt, j'espère ... Je ne perds pas espoir de sortir mon bébé

.
Bref, tu as des éléments à explorer

.
Bonsoir,
l'expression régulière n'est pas assez correcte.
Il faut regarder la [url=http://www.ietf.org/rfc/rfc2616.txt]RFC 2616[/url] pour avoir plus d'informations (après la documentation, les RFCs ;-) — [size=75]encore plus chiiiant[/size] —).
[quote="La RFC 2616"][i](page 103)[/i]
[b]14.4 Accept-Language[/b]
The Accept-Language request-header field is similar to Accept, but
restricts the set of natural languages that are preferred as a
response to the request. Language tags are defined in section 3.10.
[code] Accept-Language = "Accept-Language" ":"
1#( language-range [ ";" "q" "=" qvalue ] )
language-range = ( ( 1*8ALPHA *( "-" 1*8ALPHA ) ) | "*" )[/code]
[/quote]
L'expression régulière se déduit : [code]#(?:([\w-]+),)?([\w-]+);q=([0-9\.]+)#[/code]
J'ai fais quelque chose d'équivalent, en plus complet (environ 100 lignes de codes). Mais ça ne retourne que la langue qui a la plus forte préférence, ou la plus faible. Je traite toutes les préférences, mais le résultat c'est le max ou le min. Au passage, on pense à réécrire le résultat de façon standard (XX_xx, [i]cf[/i] l'iso-3166-1_alpha-2). Je valide aussi le résultat, et s'il n'est pas cohérent, tente d'en trouver un.
C'est une méthode qui fait parti du package Hoa_Locale. Hoa sortira bientôt, j'espère ... Je ne perds pas espoir de sortir mon bébé ;-).
Bref, tu as des éléments à explorer :).