Potrzebuję przykład kodu lub biblioteki, która parsuje nagłówek Accept-Language
i zwróci mi preferowany język. RFC2616 stwierdza:Potrzebujesz przykładu, jak uzyskać preferowany język z nagłówka żądania Accept-Language
Pole Accept-Language request-header jest podobna do zaakceptowania, ale ogranicza zbiór języków naturalnych, które są preferowane jako odpowiedź na żądanie. Znaczniki języków są zdefiniowane w sekcji 3.10.
Accept-Language = "Accept-Language" ":" 1#(language-range [ ";" "q" "=" qvalue ]) language-range = ((1*8ALPHA *("-" 1*8ALPHA)) | "*")
Każdy język zasięgu może być podana wartość skojarzony jakości, który oznacza szacunkową wartość preferencji użytkownika dla języków określonych przez tego zakresu. Wartość domyślna to "q = 1".
Dalsze czytanie pokazuje, że jest zbyt wiele "opcjonalnych", "powinno", "może" i innych zwrotów, które uniemożliwiają mi ponowne wymyślenie koła - wszystko, co chcę wiedzieć, to jaki preferuje użytkownik, dowolny przeglądarka odpowiada na to pytanie miliard razy dziennie.
Dowolny fragment kodu w dowolnym języku (z wyjątkiem Lisp i asemblera) byłby pomocny.
Wielkie dzięki z góry!
Huh! Masz coś przeciwko Lisp? :) – shambulator
Podziel przecinkiem (i poprzedzającym spacji, jeśli jest dostępny), a następnie przesłuchaj każdy token. Język to pierwsza część, a następnie (jeśli jest obecna) kod q (priorytet pierwszeństwa). Wreszcie sortuj według wartości q (moje zrozumienie to te bez q należy rozumieć jako "1"). –
@Anton, jestem zły w liczeniu nawiasów :) – Osw