inilim/php-punycode

应用程序中用于国际域名(IDNA)的Unicode Bootstring编码

dev-master 2024-09-11 20:04 UTC

This package is auto-updated.

Last update: 2024-09-11 20:04:31 UTC


README

Build Status Scrutinizer Code Quality Code Coverage Latest Stable Version

应用程序中用于国际域名(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扩展,那么这个库就是你的正确选择。