Показать сообщение отдельно

  #11  
Старый 05.12.2008, 23:39
mff
Познавший АНТИЧАТ
Регистрация: 12.03.2008
Сообщений: 1,379
Провел на форуме:
5866479

Репутация: 1809


Question

Цитата:
Сообщение от [dei]  
шото типа =\
PHP код:
<?php
$list 
'94.21.65.1                 62 ms                 1.65.xxline.net                  80
94.21.65.9                 62 ms                 9.65.xxline.net                  80
94.21.65.10                62 ms                 10.65.xxline.net                 80
94.21.65.18                61 ms                 18.65.xxline.net                 80
94.21.65.17                76 ms                 ns1.teleru.net                   80
94.21.65.33                69 ms                 33.65.xxline.net                 80
94.21.66.29                46 ms                 tps.ruschoc.ru                   80
94.21.66.85                46 ms                 95.66.xxline.net                 80
94.21.66.86                54 ms                 96.66.xxline.net                 80
94.21.66.140               46 ms                 mail.imgcis.com                  80
94.21.66.153               46 ms                 153.66.xxline.net                80
94.21.66.154               46 ms                 154.66.xxline.net                80
94.21.66.178               46 ms                 178.66.xxline.net                80
94.21.66.182               46 ms                 182.66.xxline.net                80
94.21.66.186               46 ms                 186.66.xxline.net                80
94.21.66.190               46 ms                 190.66.xxline.net                80
94.21.66.213               46 ms                 213.66.xxline.net                80
94.21.67.2                 46 ms                 2.67.xxline.net                  80,8080
94.21.67.17                60 ms                 17.67.xxline.net                 80'


preg_match_all('#(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\s+\d+.*\s+([,\d]{2,})(?:\s|$)#U'$list$out); 

for(
$i=0;$i<count($out[0]);$i++) {
    if(
strpos($out[2][$i],',')!==false) {
        
$ports=explode(',',$out[2][$i]);
        for(
$i2=0;$i2<count($ports);$i2++)
            echo 
$out[1][$i].':'.$ports[$i2].'<br/>';
    }
    else echo 
$out[1][$i].':'.$out[2][$i].'<br/>';
}
?>
всё круто, но вот заметил, сканер делает иногда вот такие списки:
Код:
95.198.85.169              89 ms                 sibprodmontazh-gw-r5-p1-280.ekb.unitline.ru80
95.198.85.145              110 ms                gubkina-87-gw-r1-p5-330.ekb.unitline.ru80
95.198.85.157              107 ms                alpinistov-77-1-gw-r1-p5-25.ekb.unitline.ru80
95.198.85.213              73 ms                 N/A                              80
95.198.85.165              105 ms                alpinistov-77-1-gw-r1-p5-25.ekb.unitline.ru80
когда между хостом и портом нет пробела, тогда парсер не парсит такой ip

Что можно сделать?
 
Ответить с цитированием