repat/shipping-service-provider-check

用于测试追踪号码属于哪个物流提供商的简单试错库

0.2 2016-08-04 15:27 UTC

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/

支持的提供商

工作原理

  • 抓取网站,尝试输入追踪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

许可

变更日志

  • 0.2 增加了追踪ID识别的正则表达式和作为服务商的Amazon Logistics
  • 0.1.1 添加了自己的服务商
  • 0.1 修复为可工作的版本(dhl, hermes, gls, ups)
  • 0.0.1 测试版初始发布

联系

Flattr this git repo