php循环通过域列表文件并删除子域

时间:2016-11-28 11:40:41

标签: php readfile

我想列出一个包含sub.domain.tld名称的“文件”,删除子列表并列出uniqe domain.tld个名称

我无法弄清楚为什么我的输出($ list)将最后一行加倍“voorbeeld.nl”

<?php
$lines=file("list.txt");

$list = array();  //create empty array
foreach ($lines as $line_num => $line) {
        $line_explode = explode('.', $line);
        array_push($list, $line_explode[1] .'.'. $line_explode[2]);

}
echo "<br>-----------<br>"; 
foreach(array_unique($list) as $Resuld){ 
    echo '>' . $Resuld .'< <br>'; 
}
echo "-----------<br>"; ? >

LIST.TXT:

sub1.example.nl
sub2.example.nl
sub1.example.com
sub2.example.com
sub3.example.com
sub1.voorbeeld.nl
sub2.voorbeeld.nl
sub3.voorbeeld.nl

结果:

-----------
>example.nl < 
>example.com < 
>voorbeeld.nl < 
>voorbeeld.nl< 
-----------

2 个答案:

答案 0 :(得分:2)

检查链接https://eval.in/686821这很正常

在你的输出中,我可以看到一个额外的空间。最有可能的是,这对你的问题很有帮助。

>voorbeeld.nl < 
>voorbeeld.nl< 

修改您的代码,如下所示

array_push($list, trim($line_explode[1]) .'.'. trim($line_explode[2]));

答案 1 :(得分:1)

你可以使用

$list[$line_explode[1] .'.'. $line_explode[2]]=$line_explode[1] .'.'. $line_explode[2];

代替这个

array_push($list, $line_explode[1] .'.'. $line_explode[2]);