inilim / php-punycode
应用程序中用于国际域名(IDNA)的Unicode Bootstring编码
dev-master
2024-09-11 20:04 UTC
Requires
- php: ^8.2
- symfony/polyfill-mbstring: ^1.3
Requires (Dev)
- phpunit/phpunit: ~4.7
- squizlabs/php_codesniffer: ~2.0
This package is auto-updated.
Last update: 2024-09-11 20:04:31 UTC
README
应用程序中用于国际域名(IDNA)的Unicode Bootstring编码。
安装
composer require true/punycode:~2.0
用法
<?php // Import Punycode use TrueBV\Punycode; $Punycode = new Punycode(); var_dump($Punycode->encode('renangonçalves.com')); // outputs: xn--renangonalves-pgb.com var_dump($Punycode->decode('xn--renangonalves-pgb.com')); // outputs: renangonçalves.com
常见问题解答(FAQ)
1. 这个库是做什么用的?
这个库可以将Unicode编码的域名转换为IDNA ASCII形式,反之亦然。
2. 为什么我要使用这个库而不是 PHP的IDN函数?
如果你可以编译所需的依赖项(intl, libidn),那么两者之间的区别不大。但是,如果你想在主机之间编写可移植的代码(包括Windows和Mac OS),或者无法安装PECL扩展,那么这个库就是你的正确选择。