yzalis / ua-parser
The missing UAParser PHP library.
Installs: 133 961
Dependents: 0
Suggesters: 0
Security: 0
Stars: 50
Watchers: 9
Forks: 24
Open Issues: 8
Requires
- php: >=5.3.0
- doctrine/inflector: ~1.0
- symfony/yaml: ~2.1|~3.2
Requires (Dev)
- phpunit/phpunit: ~3.7
This package is not auto-updated.
Last update: 2021-02-12 12:04:01 UTC
README
UAParser is a library which helps you to parse user agents and detect browser, operating system, device and more.
Basic Usage
<?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');
Results
Global Result API
$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
Browser
$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
Operating System
$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
Device
$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
EmailClient
$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
Rendering Engine
$result->getRenderingEngine()->getFamily()
will return a string likeTrident
$result->getRenderingEngine()->getVersion()
will return a string like4.0
Unit Tests
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.
Credits
- Benjamin Laugueux benjamin@yzalis.com
- All contributors
Thanks for providing a huge amount of data to run tests:
License
UAParser is released under the MIT License. See the bundled LICENSE file for details.