centralnic-reseller / idn-converter
PHP 库,用于将域名从 IDN 正确转换为 Punycode,反之亦然,还提供 TR46 处理。
v1.0.4
2024-07-25 16:32 UTC
Requires
- php: >=7.4.0
Requires (Dev)
- phpunit/phpunit: ^10.0
- squizlabs/php_codesniffer: ^3.9
README
IDN 转换 PHP 库提供了一种简单高效的方法,用于在 PHP 应用程序中将国际化域名(IDN)转换为 Punycode 格式,反之亦然。通过 ConverterFactory
类,开发者可以无缝地处理 Unicode 和 Punycode 格式之间的域名字符串转换,确保在不同系统之间的一致性和兼容性。
主要功能
- 轻松地将域名字符串转换为 Unicode 和 Punycode 格式。
- 支持单个域名字符串的转换,以及多个域名的批量转换。
- 直观的 API,提供易于使用的域名转换方法。
- 全面的 API 文档,易于集成和使用。
开始使用:通过 Composer 安装库,并按照 README 中的使用示例开始高效地在 PHP 项目中转换域名字符串。
安装
您可以通过 Composer 安装 IDN 转换 PHP 库。在您的终端中运行以下命令
composer require centralnic-reseller/idn-converter
用例
- 域名转换:在不同系统之间确保兼容性和一致性,将域名字符串在 Unicode 和 Punycode 格式之间进行转换。
用法
1. 将域名字符串转换为 Unicode
<?php use CNIC\IDNA\Factory\ConverterFactory; // Convert a domain string to Unicode format $domain = "example.com"; $unicodeDomain = ConverterFactory::toUnicode($domain); echo "Unicode Domain: $unicodeDomain\n";
2. 将域名字符串转换为 Punycode
<?php use CNIC\IDNA\Factory\ConverterFactory; // Convert a domain string to Punycode format $unicodeDomain = "example.com"; $punycodeDomain = ConverterFactory::toASCII($unicodeDomain); echo "Punycode Domain: $punycodeDomain\n";
3. 转换多个域名字符串
<?php use CNIC\IDNA\Factory\ConverterFactory; // Convert multiple domain strings to Unicode and Punycode formats $domains = ["example.com", "münchen.de", "рф.ru"]; $convertedDomains = ConverterFactory::convert($domains); foreach ($convertedDomains as $domain) { echo "Unicode Domain: {$domain['IDN']}, Punycode Domain: {$domain['PUNYCODE']}\n"; }
API 文档
### `ConverterFactory::toUnicode($keyword, $options = [])` Converts a domain string to Unicode format. - **Parameters:** - `$keyword` (string): The domain string to convert. - `$options` (array): Additional options for the conversion process (optional). - **Returns:** The converted domain in Unicode format, or `false` if the keyword is empty. ### `ConverterFactory::toASCII($keyword, $options = [])` Converts a domain string to Punycode format. - **Parameters:** - `$keyword` (string): The domain string to convert. - `$options` (array): Additional options for the conversion process (optional). - **Returns:** The converted domain in Punycode format, or `false` if the keyword is empty.
许可证:此库根据 MIT 许可证分发,允许灵活使用和修改。