Напишите простенький парсер на ПХП за +10

Discussion in 'PHP' started by mailbrush, 29 Nov 2008.

  1. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    Вобщем есть файлик вида:
    Code:
     COMMAND: VNC.exe -i 93.126.64.0-93.126.127.255 -p 3389 -cT 
    
    93.126.68.15   :3389   
    93.126.68.22   :3389   
    93.126.70.50   :3389   
    93.126.72.162  :3389   
    93.126.72.167  :3389   
    93.126.72.198  :3389   
    80.130.56.78  :3389   
    94.23.45.90  :3389   
    93.126.73.114  :3389   
    93.126.80.188  :3389   
    93.126.83.53   :3389   
    93.126.83.60   :3389   
    93.126.96.191  :3389   
    93.126.98.9    :3389   
    93.126.98.168  :3389   
    93.126.99.6    :3389   
    93.126.99.102  :3389   
    93.126.100.7   :3389   
    93.126.104.133 :3389   
    
    Scan complete
    --------------------------------------------[heapoverflow.com 2004-2005]----
    [COLOR=Red]и тут другие ипы...[/COLOR]
    Мне собсна надо чтобы он сохранял только
    Code:
    93.126.80.188  :3389   
    93.126.83.53   :3389   
    93.126.83.60   :3389   
    93.126.96.191  :3389   
    93.126.98.9    :3389   
    93.126.98.168  :3389   
    93.126.99.6    :3389   
    93.126.99.102  :3389   
    93.126.100.7   :3389   
    80.130.56.78  :3389   
    94.23.45.90  :3389   
    93.126.104.133 :3389  
    [COLOR=Red]и другие ипы...[/COLOR] 
    Кто напишет - получит +10 в репу!
     
  2. Chaak

    Chaak Elder - Старейшина

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    PHP:
    <?php
    $f 
    file_get_contents('pars.txt');    //файл для парса
    preg_match_all('#[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}#i',$f,$new);
    file_put_contents('parsed.txt',implode("\r\n",array_unique($new['0'])));    //куда сохранять
    ?>
     
  3. ArxWolf

    ArxWolf Elder - Старейшина

    Joined:
    29 Feb 2008
    Messages:
    38
    Likes Received:
    29
    Reputations:
    0
    Так на скорую руку

    У нас файл BD.txt содержимое

    Code:
    COMMAND: VNC.exe -i 93.126.64.0-93.126.127.255 -p 3389 -cT 
    
    93.126.68.15   :1   
    93.126.68.22   :2   
    93.126.70.50   :3   
    93.126.72.162  :4   
    93.126.72.167  :5   
    93.126.72.198  :6   
    80.130.56.78  :7   
    94.23.45.90  :8   
    93.126.73.114  :9   
    93.126.80.188  :10   
    93.126.83.53   :11   
    93.126.83.60   :12   
    93.126.96.191  :13   
    93.126.98.9    :14   
    93.126.98.168  :15   
    93.126.99.6    :16   
    93.126.99.102  :17   
    93.126.100.7   :18   
    93.126.104.133 :19   
    
    Scan complete
    --------------------------------------------[heapoverflow.com 2004-2005]----
    
    93.126.98.168  :20   
    93.126.99.6    :21   
    93.126.99.102  :22 
    93.126.100.7   :23   
    93.126.104.133 :24   
    
    Сам скрипт
    Code:
    <?php
    $file=file_get_contents("./BD.txt");
    
    preg_match_all ("/\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}( ){0,}:\d{1,5}/", $file, $matches);
    
    for ($i=0; $i< count($matches[0]); $i++) {
      echo $matches[0][$i]."\n";
    }
    
    ?>
    
    Результат
    Code:
    93.126.68.15   :1
    93.126.68.22   :2
    93.126.70.50   :3
    93.126.72.162  :4
    93.126.72.167  :5
    93.126.72.198  :6
    80.130.56.78  :7
    94.23.45.90  :8
    93.126.73.114  :9
    93.126.80.188  :10
    93.126.83.53   :11
    93.126.83.60   :12
    93.126.96.191  :13
    93.126.98.9    :14
    93.126.98.168  :15
    93.126.99.6    :16
    93.126.99.102  :17
    93.126.100.7   :18
    93.126.104.133 :19
    93.126.98.168  :20
    93.126.99.6    :21
    93.126.99.102  :22
    93.126.100.7   :23
    93.126.104.133 :24
    
     
    1 person likes this.