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\BrowserResult
object$result->getOperatingSystem()
will return aUAParser\Result\OperatingSystemResult
object$result->getDevice()
will return aUAParser\Result\DeviceResult
object$result->getRenderingEngine()
will return aUAParser\Result\RenderingEngineResult
object$result->getEmailClient()
will return aUAParser\Result\EmailClientResult
object
$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.