PDA

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


mailbrush
29.11.2008, 17:44
Вобщем есть файлик вида:
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]----
и тут другие ипы...
Мне собсна надо чтобы он сохранял только
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
и другие ипы...
Кто напишет - получит +10 в репу!

Chaak
29.11.2008, 18:00
<?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']))); //куда сохранять
?>

ArxWolf
29.11.2008, 18:14
Так на скорую руку

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


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


Сам скрипт

<?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";
}

?>


Результат

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