ecomailcz / ua-parser
The missing UAParser PHP library.
Installs: 13
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 24
pkg:composer/ecomailcz/ua-parser
Requires
- php: >=5.3.0
- doctrine/inflector: ~1.0
- symfony/yaml: ~2.1|~3.2
Requires (Dev)
- phpunit/phpunit: ~3.7
This package is auto-updated.
Last update: 2025-10-04 10:43:35 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 a- UAParser\Result\BrowserResultobject
- $result->getOperatingSystem()will return a- UAParser\Result\OperatingSystemResultobject
- $result->getDevice()will return a- UAParser\Result\DeviceResultobject
- $result->getRenderingEngine()will return a- UAParser\Result\RenderingEngineResultobject
- $result->getEmailClient()will return a- UAParser\Result\EmailClientResultobject
Browser
- $result->getBrowser()->getFamily()will return a string like- Firefox
- $result->getBrowser()->getMajor()will return an integer like- 23
- $result->getBrowser()->getMinor()will return an integer like- 0
- $result->getBrowser()->getPatch()will return an integer like- 1
- $result->getBrowser()->getVersionString()will return a string like- 23.0.1
Operating System
- $result->getOperatingSystem()->getFamily()will return a string like- Mac OS
- $result->getOperatingSystem()->getMajor()will return a string like- 10
- $result->getOperatingSystem()->getMinor()will return a string like- 8
- $result->getOperatingSystem()->getPatch()will return a string like- 4
Device
- $result->getDevice()->getConstructor()will return a string like- Apple
- $result->getDevice()->getModel()will return a string like- iPhone
- $result->getDevice()->getType()will return a string like- mobile
- $result->getDevice()->isMobile()will return a boolean like- true
- $result->getDevice()->isTablet()will return a boolean like- false
- $result->getDevice()->isDesktop()will return a boolean like- false
- $result->getDevice()->is('mobile')will return a boolean like- false
- $result->getDevice()->is('tablet')will return a boolean like- false
- $result->getDevice()->is('desktop')will return a boolean like- false
EmailClient
- $result->getEmailClient()->getFamily()will return a string like- Thunderbird
- $result->getEmailClient()->getMajor()will return a string like- 3
- $result->getEmailClient()->getMinor()will return a string like- 1
- $result->getEmailClient()->getPatch()will return a string like- 2
- $result->getEmailClient()->getType()will return a string like- desktop
- $result->getEmailClient()->isDesktop()will return a boolean like- true
- $result->getEmailClient()->isWebmail()will return a boolean like- false
- $result->getEmailClient()->is('desktop')will return a boolean like- true
- $result->getEmailClient()->is('webmail')will return a boolean like- false
Rendering Engine
- $result->getRenderingEngine()->getFamily()will return a string like- Trident
- $result->getRenderingEngine()->getVersion()will return a string like- 4.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.