2012-04-01 88 views
0

我想解决在PHP中的主机名称,并不能使用内置的gethostbyname函数,因为它不支持超时选项,因此我试图通过查找来解决这个问题主机名为nslookuphost。问题是,这些功能/程序不返回平原的结果,但像nslookup /主机解析PHP

东西
 
Non-authoritative answer: 
Name: google.de 
Address: 173.194.35.159 
Name: google.de 
Address: 173.194.35.151 
Name: google.de 
Address: 173.194.35.152 

有谁知道PHP中的快速功能解析所以它只是返回第一个IP地址?谢谢。

回答

0

这个正则表达式可以改进,但它会做的。

如果你的输出是$线,那么你可以使用

preg_match('/Address: ([0-9\.]*).*/', $lines, $matches); 

然后第一场比赛将被存储在

$matches[1] 
+0

我给它一个尝试,谢谢。 – Stefan 2012-04-01 17:28:33

+0

IPv6将失败。使用'[0-9a-f。:]'使它适用于两种协议版本。哦,你不需要在角色类里面逃避'.'。 – ThiefMaster 2012-04-01 17:30:01

+0

好点,ThiefMaster。 – jcbwlkr 2012-04-01 17:31:41