2017 © Pedro Peláez
 

library uap-php

A multi-language port of Browserscope's user agent parser.

image

ua-parser/uap-php

A multi-language port of Browserscope's user agent parser.

  • Wednesday, December 13, 2017
  • by lstrojny
  • Repository
  • 29 Watchers
  • 277 Stars
  • 1,438,861 Installations
  • PHP
  • 32 Dependents
  • 2 Suggesters
  • 51 Forks
  • 8 Open issues
  • 10 Versions
  • 13 % Grown

The README.md

ua-parser PHP Library

Gitter Build Status Average time to resolve an issue Percentage of issues still open Latest Stable Version Total Downloads License, (*1)

This is the PHP library for the uap-core project., (*2)

Installation

Add ua-parser/uap-php to the require section of your composer.json file and run composer update., (*3)

Usage

Straightforward:, (*4)

require_once 'vendor/autoload.php';
use UAParser\Parser;

$ua = "Mozilla/5.0 (Macintosh; Intel Ma...";

$parser = Parser::create();
$result = $parser->parse($ua);

print $result->ua->family;            // Safari
print $result->ua->major;             // 6
print $result->ua->minor;             // 0
print $result->ua->patch;             // 2
print $result->ua->toString();        // Safari 6.0.2
print $result->ua->toVersion();       // 6.0.2

print $result->os->family;            // Mac OS X
print $result->os->major;             // 10
print $result->os->minor;             // 7
print $result->os->patch;             // 5
print $result->os->patchMinor;        // [null]
print $result->os->toString();        // Mac OS X 10.7.5
print $result->os->toVersion();       // 10.7.5

print $result->device->family;        // Other

print $result->toString();            // Safari 6.0.2/Mac OS X 10.7.5
print $result->originalUserAgent;     // Mozilla/5.0 (Macintosh; Intel Ma...

Using Your Own Custom regexes.php File

You can use your own regexes.php file if you've customized the official file. I strongly encourage you to push back any changes you may have so others can benefit. That said, to use your own do the following:, (*5)

require_once 'vendor/autoload.php';
use UAParser\Parser;

$parser = Parser::create("path/to/custom/regexes.php");

Using ua-parser PHP Library from the Command Line

A command line utility is now included with the PHP library. The following commands are supported:, (*6)

Get Usage Info

Provides simple usage information:, (*7)

php bin/uaparser

Update the regexes.php File

Fetches an updated YAML file for ua-parser and overwrites the current regexes.php file. You can use the following as part of a cron job that runs nightly., (*8)

php bin/uaparser ua-parser:update [--no-backup]

By default creates a backup file. Use --no-backup to turn that feature off., (*9)

Convert an Existing regexes.yaml File to regexes.php

With the change to v2.0 you may have an existing and customized YAML file for ua-parser. Use the following to convert it to JSON., (*10)

php bin/uaparser ua-parser:convert [file]

Grab Just the Latest regexes.yaml File From the Repository

If you need to add a new UA it's easier to edit the original YAML and then convert it to JSON., (*11)

php bin/uaparser ua-parser:fetch [file]

Fetches an updated YAML file. Warning: This method overwrites any existing regexes.yaml file., (*12)

Parse a Single User Agent String

Parses a user agent string and dumps the results as a list., (*13)

php bin/uaparser ua-parser:parse "your user agent string"

Parse a Webserver Log File

Parses the supplied log file or log directory to test ua-parser. Saves the UA to a file when the UA or OS family aren't recognized or when the UA is listed as a generic smartphone or as a generic feature phone., (*14)

php bin/uaparser ua-parser:logfile [-f /path/to/logfile] [-d /path/to/logdir] [--include "*.gz"] [--exclude "*.gz"] errors.log

Multiple --include and --exclude parameters are allowed., (*15)

Credits

Thanks to the original ua-parser team for making the YAML file available for others to build upon., (*16)

Also, many thanks to the following major contributors to the PHP library:, (*17)

  • Bryan Shelton
  • Michael Bond
  • @rjd22
  • Timo Tijhof
  • Marcus Bointon
  • Ryan Parman
  • Pravin Dahal

Licensing

  • The library is licensed under the MIT license
  • The user agents data from the ua-parser project is licensed under the Apache license
  • The initial list of generic feature phones & smartphones came from Mobile Web OSP under the MIT license
  • The initial list of spiders was taken from Yiibu's profile project under the MIT license.

The Versions

13/12 2017
13/12 2017
26/02 2017

v3.4.7

3.4.7.0

A multi-language port of Browserscope's user agent parser.

  Sources   Download

MIT

The Requires

 

The Development Requires

09/07 2016

v3.4.6

3.4.6.0

A multi-language port of Browserscope's user agent parser.

  Sources   Download

MIT

The Requires

 

The Development Requires

13/12 2015

v3.4.5

3.4.5.0

A multi-language port of Browserscope's user agent parser.

  Sources   Download

MIT

The Requires

 

The Development Requires

21/10 2015

v3.4.4

3.4.4.0

A multi-language port of Browserscope's user agent parser.

  Sources   Download

MIT

The Requires

 

The Development Requires

24/06 2015

v3.4.3

3.4.3.0

A multi-language port of Browserscope's user agent parser.

  Sources   Download

MIT

The Requires

 

The Development Requires

03/04 2015

v3.4.2

3.4.2.0

A multi-language port of Browserscope's user agent parser.

  Sources   Download

MIT

The Requires

 

The Development Requires

23/01 2015

v3.4.1

3.4.1.0

A multi-language port of Browserscope's user agent parser.

  Sources   Download

MIT

The Requires

 

The Development Requires

11/01 2015

v3.4.0

3.4.0.0

A multi-language port of Browserscope's user agent parser.

  Sources   Download

MIT

The Requires

 

The Development Requires