syonix/http-header-accept-language

A parser for the Accept-Language HTTP header following RFC 2616

v1.0.2 2020-11-01 11:37 UTC

This package is auto-updated.

Last update: 2024-10-29 06:00:08 UTC


README

A parser for the Accept-Language HTTP header following RFC 2616

Build Status

Usage

use Syonix\Http\Header\AcceptLanguage\AcceptLanguage;

$parsed = AcceptLanguage::parse('da, en-gb;q=0.8, en;q=0.7'); // Returns Array ordered by quality (q)
$parsed = AcceptLanguage::match('de-CH, de-DE;q=0.9, de;q=0.8', ['de-DE', 'de']); // Returns 'de-DE'

Notes

  • AcceptLanguage::match() throws a RuntimeException, if none of the accepted languages matches and * is not in the Accept-Languages string.
  • If * is accepted and none of the other accepted languages match, the passed $default parameter is passed
  • If $default is omitted, the first element of the $locale array is returned.
  • Both parse and match are case insensitive.
  • parse always returns the case of the input string
  • match always returns the case of the provided locale array.
  • As per the RFC, the quality value defaults to q=1.