xandco / domainparser
域名解析器,用于解析和验证域名。
v2.0.1
2024-04-02 13:56 UTC
Requires
- php: >=8.2
- ext-json: *
Requires (Dev)
- pestphp/pest: ^2.34
README
域名解析器简单地对提供的域名进行解析。
在解析过程中,该包将下载由 Public Suffixes 提供的列表,由 Mozilla 提供,遍历它并将其保存到系统临时文件夹中,并在一周后更新此列表。接下来,将提供的域名解析成部分,并与保存的后缀列表进行比较,以确定域名使用的顶级域名(TLD),然后对域名进行完整性检查以确保其有效性。一旦完成,您将收到一个包含域名及其各部分所有相关信息的对象。
安装
使用 composer 安装此包
$ composer require warden/domain-parser
必须安装此服务提供程序(如果使用的是 Laravel 5.5 以下版本)
// config/app.php 'providers' => [ DomainParser\DomainParserServiceProvider::class, ];
使用以下命令发布并自定义配置文件:
$ php artisan vendor:publish --provider="DomainParser\DomainParserServiceProvider"
用法
创建新的 DomainParser
对象
use DomainParser\DomainParser; ... $domainParser = new DomainParser( $options = [] );
然后调用 parse()
方法来解析域名
$domainParser->parse( 'www.example.com' );
以下是输出示例
[ 'valid_hostname' => true, 'fqdn' => [ 'ascii' => 'www.example.com', 'idn' => 'www.example.com' ], 'sub_domains' => [ 'ascii' => [ 0 => 'www' ], 'idn' => [ 0 => 'www' ] ], 'domain' => [ 'ascii' => 'example', 'idn' => 'example' ], 'tld' => [ 'group' => [ 'ascii' => 'com', 'idn' => 'com' ], 'tld' => [ 'ascii' => 'com', 'idn' => 'com' ] ] ]
选项
在创建 DomainParser
对象时,只有一个可选的 array
参数可以传递。
选项数组参数
您可以在创建对象时设置这些选项,或者可以选择在配置文件中全局设置这些选项。您可以在安装部分中发布配置并自定义它。
变更日志
请参阅 changelog 了解最近的变化。
测试
$ composer test
贡献
请参阅 contributing.md 了解详细信息和一个待办事项列表。
安全
如果您发现任何安全相关的问题,请通过电子邮件 hello@xand.co 联系,而不是使用问题跟踪器。
鸣谢
许可证
MIT - 请参阅 许可证文件 了解更多信息。