ua-parser/uap-php

Browsercope 用户代理解析器的多语言端口。

v3.9.14 2020-10-02 23:36 UTC

README

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

这是 uap-core 项目的 PHP 库。

安装

ua-parser/uap-php 添加到您的 composer.json 文件的 require 部分,然后运行 composer update

用法

简单直接

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...

使用您自己的自定义 regexes.php 文件

如果您已经自定义了官方文件,可以使用自己的 regexes.php 文件。我 强烈 建议您推送任何可能做出的更改,以便其他人也能从中受益。话虽如此,要使用自己的文件,请按照以下步骤操作

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

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

从命令行使用 ua-parser PHP 库

PHP 库现在包括一个命令行实用程序。以下命令受支持:

获取使用信息

提供简单的使用信息

php bin/uaparser

更新 regexes.php 文件

获取用于 ua-parser 的更新 YAML 文件并覆盖当前的 regexes.php 文件。您可以将以下内容用作运行每晚的 cron 作业的一部分。

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

默认情况下创建一个备份文件。使用 --no-backup 关闭此功能。

将现有的 regexes.yaml 文件转换为 regexes.php

由于 v2.0 的更改,您可能有一个现有的自定义 YAML 文件用于 ua-parser。使用以下内容将其转换为 JSON。

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

从存储库中获取最新的 regexes.yaml 文件

如果您需要添加新的 UA,则更容易编辑原始 YAML 文件,然后将其转换为 JSON。

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

获取更新 YAML 文件。 警告: 此方法会覆盖任何现有的 regexes.yaml 文件。

解析单个用户代理字符串

解析用户代理字符串并将结果输出为列表。

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

解析 Web 服务器日志文件

解析提供的日志文件或日志目录以测试 ua-parser。当 UA 或操作系统家族无法识别,或者当 UA 被列为通用智能手机或通用功能手机时,将 UA 保存到文件中。

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

允许多个 --include--exclude 参数。

致谢

感谢 原始 ua-parser 团队 将 YAML 文件提供给其他人构建。

此外,还要感谢以下主要贡献者

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

许可

  • 库采用 MIT 许可证授权
  • ua-parser 项目的用户代理数据采用 Apache 许可证授权
  • 通用功能手机和智能手机的初始列表来自 Mobile Web OSP,采用 MIT 许可证
  • 蜘蛛的初始列表来自 Yiibu 的配置文件项目,采用 MIT 许可证。