PHP 仅将主机+IP 解析为 IP 地址

标签 php regex

<分区>

我试图得到这个:46-121-31-23.example.net

解析为:46.121.31.23

使用 REGEX 替换连字符和删除字符是不够的,因为这样的结果将是 46.121.31.23..

最佳答案

gethostbyname() 怎么样?虽然您的特定主机名已将 IPv4 地址编码到其“友好”名称中,但不能保证始终如此。所以使用实名->ip查找系统:DNS

$ip = gethostbyname('46-121-31-23.example.net');
echo $ip; // 46.121.31.23

评论跟进:该主机名显然不存在:

marc@panic:~$ host -t ns static.012.net.il             
static.012.net.il name server pdns.goldenlines.net.il.
static.012.net.il name server sdns.goldenlines.net.il.

marc@panic:~$ host 46-121-31-23.static.012.net.il pdns.goldenlines.net.il   
Using domain server:
Name: pdns.goldenlines.net.il
Address: 212.117.129.3#53
Aliases: 

Host 46-121-31-23.static.012.net.il not found: 3(NXDOMAIN)

因此无法进行 DNS 查找,因为该域的权威服务器不知道您在说什么。

但是,反向映射(IP->主机名)确实有效:

marc@panic:~$ host 46.121.31.23
23.31.121.46.in-addr.arpa domain name pointer 46-121-31-23.static.012.net.il.

因此出于某种原因,该提供商只进行反向映射,而不进行正向映射。

关于PHP 仅将主机+IP 解析为 IP 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9040716/

相关文章:

BigQuery 中特定的正则表达式查询字符串解析

python - 如何在python中使用正则表达式查找特定格式的值,包括括号

php - 计算数据库字段上的代码行数

PHP:一个类中的 $this 变量如何成为另一个类的对象?

php - 函数调用次数对性能有多大影响?

regex - PHP运行多实例问题

java - 以某个字符串开头的字符串的正则表达式

php - Laravel 中的 Guzzle 客户端 : InvalidArgumentException: "No method is configured to handle the form_params config key"

php - 反馈缓慢的 PHP 脚本正在运行?

java - Java中的正则表达式: Validating user input