PHP 中文域名转码/编码 | 将 Unicode 域名转换为 IDNA ASCII 兼容格式

首先需要安装 Intl 扩展

  1. 如果你服务器装了宝塔面板,相应的 PHP 版本中,安装扩展(不会的自己百度
  2. 如果不是,请自己 Google、Bing、Bing 吧

使用

  1. 对域名编码 | 将 Unicode 域名转换为 IDNA ASCII 兼容格式

    <?php
    //如果你的 PHP版本 大于等于 7.2,必须用这个
    //因为我懒得在 PHP版本 小于 7.2 测试,所以不知道可不可行,行的话用这个
    echo idn_to_ascii('人民网.中国',IDNA_NONTRANSITIONAL_TO_ASCII,INTL_IDNA_VARIANT_UTS46);
    //输出结果:xn--gmq282eogn.xn--fiqs8s
    
    //如果你的 PHP版本 小于 7.1 用这个
    //PHP 大于等于 7.2 不要用这个!详情看:https://nowtime.cc/php/505.html
    echo idn_to_ascii('人民网.中国');
    //输出结果:xn--gmq282eogn.xn--fiqs8s
  2. 对域名解码 | 将 IDNA ASCII 兼容格式域名 转换为 Unicode 格式域名

    <?php
    //如果你的 PHP版本 大于等于 7.2,必须用这个
    //因为我懒得在 PHP版本 小于 7.2 测试,所以不知道可不可行,行的话用这个
    echo idn_to_utf8('xn--gmq282eogn.xn--fiqs8s',IDNA_NONTRANSITIONAL_TO_ASCII,INTL_IDNA_VARIANT_UTS46);
    //输出结果:人民网.中国
    
    //如果你的 PHP版本 小于 7.1 用这个
    //PHP 大于等于 7.2 不要用这个!详情看:https://nowtime.cc/php/505.html
    echo idn_to_utf8('xn--gmq282eogn.xn--fiqs8s');
    //输出结果:人民网.中国

如无特别声明,该文章均为 现在网NowTime.cc)原创,转载请遵循 署名-非商业性使用 4.0 国际(CC BY-NC 4.0) 协议,即转载请注明文章来源。


标签: PHP, 域名

赞 (0)

添加新评论