分类 PHP 下的文章
PHP 获取 QQ群 bkn 参数
PHP 中文域名转码/编码 | 将 Unicode 域名转换为 IDNA ASCII 兼容格式
PHP 报错:idn_to_ascii(): INTL_IDNA_VARIANT_2003 is deprecated
由于项目的需要,需要对中文域名转码(将 Unicode 域名转换为 IDNA ASCII 兼容格式),Google 查到使用idn_to_ascii
函数可对中文域名(Unicode 域名)转换为IDNA ASCII 兼容格式
我在 PHP 7.2.1
下运行 echo idn_to_ascii('人民网.中国');
出现了一下错误
[root@izwz9a76txemslg5q0e3zaz ~]# php -v
PHP 7.2.11 (cli) (built: Nov 2 2018 09:15:43) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologie
[root@izwz9a76txemslg5q0e3zaz ~]# php -r "echo idn_to_ascii('人民网.中国');"
PHP Deprecated: idn_to_ascii(): INTL_IDNA_VARIANT_2003 is deprecated in Command line code on line 1
Deprecated: idn_to_ascii(): INTL_IDNA_VARIANT_2003 is deprecated in Command line code on line 1
PHP 判断是否为域名|判断是否为正确格式的域名
PHP 判断是否为域名|判断是否为正确格式的域名
!!!注意这代码判断的是域名,不是 URL!!!
因为项目有需求,首先想到去 Google 搜,翻了几页,未找到能满足自己需求的代码,所以自己动手造了个轮子
要想判断一个域名格式是否正确,得先知道域名是由哪些字符串组成的
Google 查阅了一些资料,得出一下要求
PS:在下述中,
“域名”
所指的是,如nowtime.cc
中的nowtime
- “域名” 只能由
大小写字母
、数字
和-
组成 - “域名” 不能以
-
开头或结尾 - “域名” 每段长度最小 1 位,最长 63 位(不包含
“域名后缀”
,以.
分段) - “域名总长度” 不能超过 255 位(不包含域名后缀;不包含
.
)