ua-parser / uap-php
Browsercope 用户代理解析器的多语言端口。
Requires
- php: ^7.2 || ^8.0
- composer/ca-bundle: ^1.1
Requires (Dev)
- phpstan/phpstan: ^0.12.33
- phpunit/phpunit: ^8 || ^9
- symfony/console: ^3.4 || ^4.2 || ^4.3 || ^5.0
- symfony/filesystem: ^3.4 || ^4.2 || ^4.3 || ^5.0
- symfony/finder: ^3.4 || ^4.2 || ^4.3 || ^5.0
- symfony/yaml: ^3.4 || ^4.2 || ^4.3 || ^5.0
- vimeo/psalm: ^3.12
Suggests
- symfony/console: Required for CLI usage - ^3.4 || ^4.3 || ^5.0
- symfony/filesystem: Required for CLI usage - ^3.4 || ^4.3 || ^5.0
- symfony/finder: Required for CLI usage - ^3.4 || ^4.3 || ^5.0
- symfony/yaml: Required for CLI usage - ^3.4 || ^4.3 || ^5.0
- dev-master
- v3.9.14
- v3.9.13
- v3.9.12
- v3.9.11
- v3.9.10
- v3.9.9
- v3.9.8
- v3.9.7
- v3.9.6
- v3.9.5
- v3.9.4
- v3.9.3
- v3.9.2
- v3.9.1
- v3.9.0
- v3.8.9
- v3.8.8
- v3.8.7
- v3.8.6
- v3.8.5
- v3.8.4
- v3.8.3
- v3.8.2
- v3.8.1
- v3.8.0
- v3.7.0
- v3.6.0
- v3.5.0
- v3.4.7
- v3.4.6
- v3.4.5
- v3.4.4
- v3.4.3
- v3.4.2
- v3.4.1
- v3.4.0
- dev-php8
- dev-auto-update-resources
This package is auto-updated.
Last update: 2024-08-29 04:14:26 UTC
README
这是 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 许可证。