UAParser is a library which helps you to parse user agents and detect browser, operating system, device and more.
<?php
// create a new UAParser instance
$uaParser = new \UAParser\UAParser();
// ...or optionally load a custom regexes.yml file of your choice
// $uaParser = new \UAParser\UAParser(__DIR__.'/../../custom_regexes.yml');
// parse a user agent string an get the result
$result = $uaParser->parse('Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20130406 Firefox/23.0.1');$result->getBrowser()will return aUAParser\Result\BrowserResultobject$result->getOperatingSystem()will return aUAParser\Result\OperatingSystemResultobject$result->getDevice()will return aUAParser\Result\DeviceResultobject$result->getRenderingEngine()will return aUAParser\Result\RenderingEngineResultobject$result->getEmailClient()will return aUAParser\Result\EmailClientResultobject
$result->getBrowser()->getFamily()will return a string likeFirefox$result->getBrowser()->getMajor()will return an integer like23$result->getBrowser()->getMinor()will return an integer like0$result->getBrowser()->getPatch()will return an integer like1$result->getBrowser()->getVersionString()will return a string like23.0.1
$result->getOperatingSystem()->getFamily()will return a string likeMac OS$result->getOperatingSystem()->getMajor()will return a string like10$result->getOperatingSystem()->getMinor()will return a string like8$result->getOperatingSystem()->getPatch()will return a string like4
$result->getDevice()->getConstructor()will return a string likeApple$result->getDevice()->getModel()will return a string likeiPhone$result->getDevice()->getType()will return a string likemobile$result->getDevice()->isMobile()will return a boolean liketrue$result->getDevice()->isTablet()will return a boolean likefalse$result->getDevice()->isDesktop()will return a boolean likefalse$result->getDevice()->is('mobile')will return a boolean likefalse$result->getDevice()->is('tablet')will return a boolean likefalse$result->getDevice()->is('desktop')will return a boolean likefalse
$result->getEmailClient()->getFamily()will return a string likeThunderbird$result->getEmailClient()->getMajor()will return a string like3$result->getEmailClient()->getMinor()will return a string like1$result->getEmailClient()->getPatch()will return a string like2$result->getEmailClient()->getType()will return a string likedesktop$result->getEmailClient()->isDesktop()will return a boolean liketrue$result->getEmailClient()->isWebmail()will return a boolean likefalse$result->getEmailClient()->is('desktop')will return a boolean liketrue$result->getEmailClient()->is('webmail')will return a boolean likefalse
$result->getRenderingEngine()->getFamily()will return a string likeTrident$result->getRenderingEngine()->getVersion()will return a string like4.0
To run unit tests, you'll need cURL and a set of dependencies you can install using Composer:
curl -sS https://getcomposer.org/installer | php
php composer.phar install
Once installed, just launch the following command:
./vendor/bin/phpunit
You're done.
- Benjamin Laugueux benjamin@yzalis.com
- All contributors
Thanks for providing a huge amount of data to run tests:
UAParser is released under the MIT License. See the bundled LICENSE file for details.

