php代码处理域名转成ip地址显示出来

yu.php    代码如下
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
<?php error_reporting(0);
$handle = fopen ("https://xxxxx.xxxxxxx.xx/proxy/list/download/crvyxguhtddwrxdsuifnpvwwhngwhwngixtfxanl/-/xxxxx/username/domain/", "rb");
$contents = "";
do {
    $data = fread($handle, 1024);
    if (strlen($data) == 0) {
        break;
    }
    $url=parse_url ($data);
    if(isset($url['host'])){
        $new =$url['host'];
    }else{
        $new =$url['scheme'];
    }
    $new_ip = gethostbyname($new);
    $new_data = str_replace($new,$new_ip,$data);
    $contents.= $new_data;
} while(true);
fclose ($handle);

echo $contents;
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
打开yu.php返回的数据如下

185.30.232.28:80:yzqmiwpc-1:wq6gzfzk6u3u
185.30.232.28:80:yzqmiwpc-2:wq6gzfzk6u3u
xx.p.xxxxxxxx.xx:80:yzqmiwpc-3:wq6gzfzk6u3u
xx.p.xxxxxxxx.xx:80:yzqmiwpc-4:wq6gzfzk6u3u
185.30.232.28:80:yzqmiwpc-5:wq6gzfzk6u3u

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
想要得到的结果如下! 
  yu.php里代码应该怎么写才能得到以下结果

185.30.232.28:80:yzqmiwpc-1:wq6gzfzk6u3u
185.30.232.28:80:yzqmiwpc-2:wq6gzfzk6u3u
185.30.232.28:80:yzqmiwpc-3:wq6gzfzk6u3u
185.30.232.28:80:yzqmiwpc-4:wq6gzfzk6u3u
185.30.232.28:80:yzqmiwpc-5:wq6gzfzk6u3u
 

你解析程序有问题,每次读1024字节数据后马上解析,有些数据数据块不满足url的格式,导致域名无法全部获取到ip地址。

应该全部读取数据后,按照原始数据格式explode拆分成数组或者正则提取域名,根据域名获取ip在替换域名

如果你确定格式和你贴出来的那样,可以用下面的代码解析

<?php error_reporting(0);

$contents =<<<s
bbs.csdn.net:80:wdkqptfr-1:42ft0hk7k5yu
news.163.com:80:wdkqptfr-2:42ft0hk7k5yu
www.w3dev.cn:80:wdkqptfr-3:42ft0hk7k5yu
www.youtube.com:80:wdkqptfr-4:42ft0hk7k5yu
ask.csdn.net:80:wdkqptfr-5:42ft0hk7k5yu
blog.csdn.net:80:wdkqptfr-5:42ft0hk7k5yu
s;

$arr=explode("\n",$contents);//注意这里如果你的数据格式不是用换行符\n分隔每行数据
$count=count($arr);
for($i=0;$i<$count;$i++){
  $item=explode(":",$arr[$i]);
  $ip=gethostbyname($item[0]);
  if($ip!=$item[0]){
    $arr[$i]=str_replace($item[0],$ip,$arr[$i]);
  }
}
$contents=implode("<br>",$arr);

echo $contents;
?>

 

你上面gethostbyname函数就是转换ip的

给你你也打不开  ,需要国外代理ip才能打开的,这个是个下载地址,他是打开直接下载文本

文本里内容这这样,我是想把域名转成ip

u1.p.abcdefgh.io:80:wdkqptfr-1:42ft0hk7k5yu
p.abcdefgh.io:80:wdkqptfr-2:42ft0hk7k5yu
u1.p.abcdefgh.io:80:wdkqptfr-3:42ft0hk7k5yu
u2.p.abcdefgh.io:80:wdkqptfr-4:42ft0hk7k5yu
u1.p.abcdefgh.io:80:wdkqptfr-5:42ft0hk7k5yu