我的动机是使用 php 获取域名的托管服务提供商。当 tracert/traceroute 到任何域名(yahoo.com)时,它会给出:
traceroute 到 72.30.2.43 (72.30.2.43),最大 30 跳,40 字节数据包 1 c1.25.78ae.static.theplanet.com (174.120.37.193) 0.648 毫秒 0.630 毫秒 0.647 毫秒 2 te6-2.dsr02.dllstx2.networklayer.com (70.87.254.237) 0.365 毫秒 0.430 毫秒 0.462 毫秒 3 te7-4.dsr02.dllstx3.networklayer.com (70.87.253.121) 0.562 毫秒 te4-3.dsr02.dllstx3.networklayer.com (70.87.255.129) 0.910 毫秒 te4-4.dsr02.dllstx3.networklayer.com (70.87) .255.133) 0.664 毫秒 4 ae17.bbr01.eq01.dal03.networklayer.com (173.192.18.226) 0.403 毫秒 ae17.bbr02.eq01.dal03.networklayer.com (173.192.18.230) 0.380 毫秒 0.405 毫秒 5 ae1.bbr01.cf01.den01.networklayer.com (173.192.18.139) 14.864 毫秒 14.723 毫秒 14.770 毫秒 6 ae1.bbr01.cf01.den01.networklayer.com (173.192.18.139) 14.787 毫秒 198.32.216.25 (198.32.216.25) 14.882 毫秒 14.946 毫秒 7 198.32.216.25 (198.32.216.25) 14.863 毫秒 ae-7.pat1.pao.yahoo.com (216.115.101.128) 38.403 毫秒 ae-7.pat1.sjc.yahoo.com (216.115.101.149) 41.250 毫秒 8 ae-1-d420.msr1.sk1.yahoo.com (216.115.106.161) 38.930 毫秒 ae-1-d400.msr1.sk1.yahoo.com (216.115.106.153) 41.643 毫秒 ae-0-d210.msr2.sk1 .yahoo.com (216.115.106.133) 38.617 毫秒 9 te-8-1.bas-k1.sk1.yahoo.com (68.180.160.9) 41.478 毫秒 te-9-1.bas-k2.sk1.yahoo.com (68.180.160.15) 39.368 毫秒 ae-0-d230 .msr2.sk1.yahoo.com (216.115.106.141) 42.650 毫秒 10 * * te-8-1.bas-k2.sk1.yahoo.com (68.180.160.11) 41.787 毫秒 11 * * * 12 * * * 13 * * * 14 * * * 15 * * * 16 * * * 17 * * * 18 * * * 19 * * * 20 * * * 21 * * * 22 * * * 23 * * * 24 * * * 25 * * * 26 * * * 27 * * * 28 * * * 29 * * * 30 * * *
我想获取最后一个有效域名,即(在本例中):
`10 * * te-8-1.bas-k2.sk1.yahoo.com (68.180.160.11) 41.787 毫秒`
我可以通过使用以下代码(stristr())轻松解决这个问题:
$a = explode("\n",$str); foreach($a 作为 $v){ if(!stristr($v,'* * *')){ 回声$v。
'; } }
我需要这个结果:
雅虎网
它应该从 # 10th ( 10 * * te-8-1.bas-k2.sk1.yahoo.com (68.180.160.11) 41.787 ms )
有人对此有解决方案吗?或者,如果有人对我的基本目标有更好的解决方案。
非常感谢任何帮助。
谢谢!