private function parseHeader($header) { $res = preg_match_all('/(?:[^,"]*+(?:"[^"]*+")?)+[^,"]*+/', $header, $matches); if (!$res) { throw new InvalidHeader(sprintf('Failed to parse accept header: "%s"', $header)); } return array_values(array_filter(array_map('trim', $matches[0]))); }