PHP 中文域名 和 Punycode 相互转码

域名 punycode 中文 IDN

IDN

国际化域名(英语:Internationalized Domain Name,缩写:IDN)

Punycode

国际化域名的编码方式,中文域名和一些特殊文字 都需要Punycode 编码一下的

中文(特殊文字)转 Punycode

通过 idn_to_ascii 函数 参考地址:https://www.php.net/manual/zh/function.idn-to-ascii.php 它有四个参数

  • domain, utf8 格式的域名,就是。
  • options转换选项 - IDNA_ 常量的组合(IDNA_ERROR_ 常量除外)。
  • variant 无论INTL_IDNA_VARIANT_2003是IDNA 2003还是INTL_IDNA_VARIANT_UTS46UTS#46。php7 已经弃用INTL_IDNA_VARIANT_2003,使用INTL_IDNA_VARIANT_UTS46 替代
  • idna_info 此参数仅在用于时才可 INTL_IDNA_VARIANT_UTS46使用 variant
idn_to_ascii("alone88.我爱你",IDNA_NONTRANSITIONAL_TO_ASCII,INTL_IDNA_VARIANT_UTS46)

转换成:alone88.xn--6qq986b3xl

Punycode 转 中文

通过idn_to_utf8 函数 参考地址:https://php.net/manual/zh/function.idn-to-utf8.php 参数和 idn_to_ascii 一样的,就是域名是已经转码过的,然后通过这个函数转换回去

idn_to_utf8("alone88.xn--6qq986b3xl") 
转成成alone88.我爱你,后面的参数可以省略的

本文由 Alone88 创作,采用 知识共享署名4.0 国际许可协议进行许可 本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名 最后编辑时间为: May 31, 2019 at 02:56 pm

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏salesforce零基础学习

Salesforce LWC学习(七) Navigation & Toast

上一篇我们介绍了针对LWC中常用的LDS的适配的wire service以及@salesforce模块提供的相关的service,其实LWC中还提供其他的好用的...

10940
来自专栏安恒网络空间安全讲武堂

EDU-CTF TripleSigma题解

EDU-CTF是台大、交大、台科大三个学校的校赛,题目感觉都不错。TripleSigma这道题的反序列化POP链很有意思,官方wp写的很简单,在这里分析一下。 ...

5520
来自专栏JadePeng的技术博客

开源音乐下载神器XMusicDownloader更新,支持歌单一键下载,支持无损音乐

开源音乐下载神器XMusicDownloader更新啦,新增网易、腾讯音乐歌单歌曲、歌手歌曲、专辑歌曲一键下载,同时支持下载flac无损音乐。

20060
来自专栏葡萄城控件技术团队

带你深入了解NPM——NPM初学者指南

前段时间,我们邀请了我们“城内”(葡萄城)资深开发工程师刘涛为大家分享了一次干货满满的关于Electron线上公开课,在课程过程中有不少同学对于NPM的概念和用...

8920
来自专栏安恒网络空间安全讲武堂

HackIM 2019-Mime checkr

原文地址:http://www.mohamed-chamli.me/blog/hackim%202019/Mimecheckr

9420
来自专栏安恒网络空间安全讲武堂

Upload-labs&Upload Bypass Summarize

暑假闲着也是闲着,去年这个时候刷完了 sqli-labs,今年想着来刷一下 upload-labs 而这次重点不在于题解,而在于总结与归纳 首先我们得明确一点,...

9820
来自专栏数据森麟

Python一键爬取你所关心的书籍信息

个人简书专栏:放翁lcf https://www.jianshu.com/u/ea4b6b1d2c22

13020
来自专栏安恒网络空间安全讲武堂

某教务管理系统APP逆向分析之协议漏洞

某大学在使用的一款教务管理系统手机app,为了方便学生查询成绩和选课。我在一次偶然逆向中找到严重漏洞,现在把整个分析流程记录下来。

11630
来自专栏安恒网络空间安全讲武堂

LCTF2018-bestphp's revenge 详细题解

这里只需要关注call_user_func这个回调函数。 call_user_func — 把第一个参数作为回调函数调用,第一个参数是被调用的回调函数,其余参数...

10920
来自专栏安恒网络空间安全讲武堂

JDCTF-web writeup

总共两个判断 第一个函数是 ereg可以用%00绕过 第二个函数 strpos用来判断该字符串中有没有 #biubiubiu 因为#在url中有特殊含义所以得用...

8910

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励