Shine 发布的文章
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 位(不包含域名后缀;不包含
.
)
知道要求后,就可以开始造轮子了,然后就有了以下代码:(注意这代码判断的是域名,不是 URL)
PHP 获取真实用户 IP 地址
获取网站地址栏图标/favicon.ico
favicon 通常是在浏览器中,网页标题前面显示的小图标来代表该网站的图标标记(俗称地址栏图标)。在一些地方(RSS 抓取应用、网站导航)需要显示网站的 favicon 图标,可以使用 Google 的服务来获取[国内可用!!!],获取方式如下:
1. 服务器在国外
API地址:
https://www.google.com/s2/favicons?domain=域名
实例:
如果你想获取nowtime.cc
的 favicon.ico
那么则访问:https://www.google.com/s2/favicons?domain=nowtime.cc