wp_match_mime_types() – Checks a MIME-Type against a list.
You appear to be a bot. Output may be restricted
Description
Checks a MIME-Type against a list.
If the $wildcard_mime_types
parameter is a string, it must be comma separated list. If the $real_mime_types
is a string, it is also comma separated to create the list.
Usage
$array = wp_match_mime_types( $wildcard_mime_types, $real_mime_types );
Parameters
- $wildcard_mime_types
- ( string|string[] ) required – Mime types, e.g.
audio/mpeg`, `image
(same as `image/*`), orflash
(same as `*flash*`). - $real_mime_types
- ( string|string[] ) required – Real post mime type values.
Returns
array array(wildcard=>array(real types)).
Source
File name: wordpress/wp-includes/post.php
Lines:
1 to 41 of 41
function wp_match_mime_types( $wildcard_mime_types, $real_mime_types ) { $matches = array(); if ( is_string( $wildcard_mime_types ) ) { $wildcard_mime_types = array_map( 'trim', explode( ',', $wildcard_mime_types ) ); } if ( is_string( $real_mime_types ) ) { $real_mime_types = array_map( 'trim', explode( ',', $real_mime_types ) ); } $patternses = array(); $wild = '[-._a-z0-9]*'; foreach ( (array) $wildcard_mime_types as $type ) { $mimes = array_map( 'trim', explode( ',', $type ) ); foreach ( $mimes as $mime ) { $regex = str_replace( '__wildcard__', $wild, preg_quote( str_replace( '*', '__wildcard__', $mime ) ) ); $patternses[][ $type ] = "^$regex$"; if ( ! str_contains( $mime, '/' ) ) { $patternses[][ $type ] = "^$regex/"; $patternses[][ $type ] = $regex; } } } asort( $patternses ); foreach ( $patternses as $patterns ) { foreach ( $patterns as $type => $pattern ) { foreach ( (array) $real_mime_types as $real ) { if ( preg_match( "#$pattern#", $real ) && ( empty( $matches[ $type ] ) || false === array_search( $real, $matches[ $type ], true ) ) ) { $matches[ $type ][] = $real; } } } } return $matches; }