An implementation of the WHATWG Mime Sniffing specification
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
J. King b79fa1aac6 Basic README 4 years ago
lib Add API documentation 4 years ago
tests Test and correct ancillary features 4 years ago
vendor-bin Initial export from Lax 4 years ago
.gitattributes Initial export from Lax 4 years ago
.gitignore Initial export from Lax 4 years ago
.php_cs.dist Initial export from Lax 4 years ago
AUTHORS Initial export from Lax 4 years ago
LICENSE Initial export from Lax 4 years ago
README.md Basic README 4 years ago
RoboFile.php Initial export from Lax 4 years ago
composer.json Test and correct ancillary features 4 years ago
composer.lock Test and correct ancillary features 4 years ago
robo Initial export from Lax 4 years ago
robo.bat Initial export from Lax 4 years ago

README.md

MIME Sniffing

This library aims to be a complete implementation of the WHATWG Mime Sniffing specification. Presently it only implements MIME type parsing (in other words, MIME sniffing itself is not implemented), but it will be expanded in due course.

Features

Parsing

A MIME type string may be parsed into a structured MimeType instance as follows:

$mimeType = \MensBeam\Mime\MimeType::parse("text/HTML; charSet=UTF-8");
echo $mimeType->type;              // prints "text"
echo $mimeType->subtype;           // prints "html"
echo $mimeType->essence;           // prints "text/html"
echo $mimeType->params['charset']; // prints "UTF-8"

Normalizing

Once parsed, a MimeType instance can be serialized to produce a normalized text representation:

$typeString = 'TeXt/HTML;  CHARset="UTF\-8"; charset=iso-8859-1; unset='; 
$mimeType = \MensBeam\Mime\MimeType::parse($typeString);
echo (string) $mimeType; // prints "text/html;charset=UTF-8"