31 $accepts = explode(
',', $accept );
34 foreach ( $accepts as $i => $a ) {
35 if ( !preg_match(
'!^([^\s/;]+)/([^;\s]+)\s*(?:;(.*))?$!D', trim( $a ),
$matches ) ) {
44 foreach ( $kvps as $kv ) {
45 $kvArray = explode(
'=', trim( $kv ), 2 );
46 if ( count( $kvArray ) != 2 ) {
49 [ $key, $val ] = $kvArray;
50 $key = strtolower( trim( $key ) );
56 if ( $val && $val[0] ===
'"' && $val[ strlen( $val ) - 1 ] ===
'"' ) {
57 $val = substr( $val, 1, strlen( $val ) - 2 );
73 usort( $ret,
static function ( $a, $b ) {
74 if ( $b[
'q'] > $a[
'q'] ) {
76 } elseif ( $b[
'q'] === $a[
'q'] ) {
77 return $a[
'i'] - $b[
'i'];