bitworking / mimeparse
处理MIME类型的基函数。
2.2.0
2016-02-09 18:45 UTC
Requires
- php: >=5.3.2
Requires (Dev)
- jakub-onderka/php-parallel-lint: ^0.9.0
- phpunit/phpunit: ^4.7|^5.0
- satooshi/php-coveralls: ^0.6.1
- squizlabs/php_codesniffer: ^2.3
README
这个库提供了解析MIME类型名称并与之匹配媒体范围列表的基本功能。请参阅RFC 7231 (HTTP语义和内容规范)第5.3.2节以获得完整解释。更多关于该库的信息可以在XML.com文章 "仅使用媒体类型?"中找到。
这个库是从原始的mimeparse库在Google Project Hosting上获得的,已经被清理以符合PSR-1、PSR-2和PSR-4标准。它现在还支持Composer。Bitworking命名空间是对Joe Gregorio,该库的原始作者的致敬。
安装
首选的安装方法是使用Packagist和Composer。运行以下命令来安装包并将它添加到项目的composer.json
中的要求:
composer require bitworking/mimeparse
示例
使用Mimeparse指定应用程序支持的媒体类型列表,并将其与用户代理接受的媒体类型列表(通过HTTP Accept头)进行比较;Mimeparse将给出与您的支持类型列表最佳匹配的返回给用户代理,如果没有最佳匹配则返回null
。
<?php $supportedTypes = array('application/xbel+xml', 'text/xml'); $httpAcceptHeader = 'text/*;q=0.5,*/*; q=0.1'; $mimeType = \Bitworking\Mimeparse::bestMatch($supportedTypes, $httpAcceptHeader); echo $mimeType; // Should echo "text/xml"
您还可以使用Mimeparse在将特定媒体类型与媒体类型范围(例如Accept头)进行比较时获取其质量值。
<?php $httpAcceptHeader = 'text/*;q=0.3, text/html;q=0.7, text/html;level=1, text/html;level=2;q=0.4, *\/*;q=0.5'; $quality = \Bitworking\Mimeparse::quality('text/html', $httpAcceptHeader); echo $quality; // Should echo 0.7
贡献
欢迎贡献!请阅读CONTRIBUTING以获取详细信息。
版权和许可证
原始的mimeparse库版权所有© Joe Gregorio。PHP的bitworking/mimeparse库版权所有© Ben Ramsey。两位作者都已许可源代码在MIT许可证(MIT)下使用。有关更多信息,请参阅LICENSE。