repat / shipping-service-provider-check
用于测试追踪号码属于哪个物流提供商的简单试错库
0.2
2016-08-04 15:27 UTC
Requires
- php: >=5.6.0
- danielstjules/stringy: ^2.3
- fabpot/goutte: ^3.1
This package is auto-updated.
Last update: 2024-09-20 08:22:26 UTC
README
这是一个PHP包,用于查找追踪ID属于哪个物流服务商。由于它主要用于德国,因此这里的主要关注点是可用的服务商。欢迎贡献力量!
理论上,一个追踪ID可能属于多个服务商。这就是为什么你得到的是一个可能包含多个true
的数组。
博客文章(德语):https://repat.de/2016/07/herausfinden-zu-welchem-versanddienstleister-eine-tracking-id-gehoert/
支持的提供商
- DHL
- GLS
- UPS
- Hermes
- Amazon Logistics for MUC/Germany(?)
工作原理
- 抓取网站,尝试输入追踪ID并查看结果 OR
- 使用正则表达式检查追踪ID的格式
安装
通过Packagist可用
composer require repat/shipping-service-providers-check
用法
检查src/ShippingServiceProvidersCheck/default_providers.php
以获取配置。
use repat\ShippingServiceProvidersCheck\Check; $check = new Check($trackingId); // checks all providers, returns an array like // [ // "dhl" => true, // "gls" => false, // ... // ] $check->checkAll(); // replacing providers or with your own providers, see below $check->checkAll($extraProviders); // gets all available providers $check->getProviders();
更换提供商和添加自己的提供商
如果您想添加自己的服务商,您可以为checkAll()
提供一个如下的数组。任何贡献都非常欢迎。
// online check "SPO" => [ 'base_url' => "http://example.com/tracking_id=", 'search_string' => 'This is the string that will be looked for', 'filter' => 'HTML tag to look for', ], // format check "SPF" => [ 'regex' => '/[foo]{1}/' ], // ...
这是一个正向查找,所以如果search_string
在HTML标签filter
中被找到,您将得到true
。有关过滤器的信息,请参阅Goutte。
有关PHP中正则表达式的文档,请参阅preg_match。
许可
- 请参阅LICENSE文件
变更日志
- 0.2 增加了追踪ID识别的正则表达式和作为服务商的Amazon Logistics
- 0.1.1 添加了自己的服务商
- 0.1 修复为可工作的版本(dhl, hermes, gls, ups)
- 0.0.1 测试版初始发布
联系
- 主页:https://repat.de
- 电子邮件:repat@repat.de
- Twitter:@repat123