Вы что тут - соревнуетесь у кого извразенней код?) Ну нате тогда мой for($s='http://site.com/',$i=0,$n=57;$i<$n; print($s.++$i."\n"));
например так: PHP: $list = 'IP Ping Hostname Open Ports 94.21.65.1 62 ms 1.65.xggline.net 80 94.21.65.2 62 ms 1.65.xggline.net 80 94.21.65.3 62 ms 1.65.xggline.net 80 94.21.65.4 62 ms 1.65.xggline.net 80 '; preg_match_all('#([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})\s#Us', $list, $out); echo join('<br/>', $out[1]); И давайте задавать вопросы по регуляркам в теме регулярок!
спасибо .:EnoT:., но как бы еще и порты прицепить, их несколько может быть: Code: 94.21.66.213 46 ms 213.66.xyline.net 80 94.21.67.2 46 ms 2.67.xyline.net [COLOR=Red]80,8080[/COLOR] 94.21.67.17 60 ms 17.67.xyline.net 80 то есть требуется получить список вида: Code: 94.21.66.213:80 94.21.67.2:80 94.21.67.2:80 94.21.67.17:8080 Извиняюсь, не заметил темы по регуляркам Помогите, уже 2 дня бьюсь, голова кругом
Нет, это отчёты Angry IP scannera, вот например один из них: Code: This file was generated by Angry IP Scanner Visit http://www.angryziber.com/ for the latest version Scanned 94.21.64.0 - 94.21.95.255 (Ports: 80,8080) 05.12.2008 5:56:20 IP Ping Hostname Open Ports 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
PHP: <?php $list = 'IP Ping Hostname Open Ports 94.21.65.1 62 ms 1.65.xggline.net 80 94.21.65.2 62 ms 1.65.xggline.net 80 94.21.65.3 62 ms 1.65.xggline.net 80 94.21.65.4 62 ms 1.65.xggline.net 80 '; preg_match_all('#(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\s\d+.*\s(\d{2,})#U', $list, $out); for($i=0;$i<count($out[0]);$i++) echo $out[1][$i].':'.$out[2][$i].'<br/>'; ?> непонятно что делать если несколько портов =\
шото типа =\ 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/>'; } ?>
for($i=0;$i<count($out[0]);$i++) нельзя считать в цикле, когда вы уже поймете. Считать надо ДО цикла.
пробелы форумные постирай между 1, и 3 PHP: preg_match_all('#(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\s+\d+.*\s+([,\d]{2,})(?:\s|$)#U', $list, $out);
Code: <?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/>'; } } ?> как-то так dei, ты про табуляцую забыл.
имеется такой скрипт отправки сообшений: вопрос какой код и куда именно его вставить , чтобы скрипт отправлял письма с интервалом 3 секунды , а то письма не доходят... PHP: <?php $testa = $_POST['veio']; if($testa != "") { $message = $_POST['html']; $subject = $_POST['assunto']; $de = $_POST['de']; $to = $_POST['emails']; // le //$handle = fopen ($emails, "r"); //$to = fread ($handle, filesize ($emails)); //fclose ($handle); //$handle2 = fopen ($html, "r"); //$message = fread ($handle2, filesize ($html)); //fclose ($handle2); $message = str_replace("'","\"",$message); $message = stripslashes($message); $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset=Windows-1251\r\n"; $email = explode("\n", $to); $headers .= "From: ".$de."\r\n"; $i = 0; $count = 1; while($email[$i]) { $ok = "ok"; if(mail($email[$i], $subject, $message, $headers)) echo "* № $count <b>".$email[$i]."</b> <font color=green> Ok..</font><br><hr>"; else echo "* № $count <b>".$email[$i]."</b> <font color=red>Ok</font><br><hr>"; $i++; $count++; } $count--; if($ok == "ok") echo "<script> alert(' ".$count." OK'); </script>"; } ?> <html> <head> <title>Спамер</title> <meta http-equiv="Content-Type" content="text/html; charset=Windows-1251"> <style> .normal { font-family: Arial, Helvetica, sans-serif; font-size: 13px; color: #000000; } .form { font-family: Arial, Helvetica, sans-serif; font-size: 10px; color: #000000; background-color: #FFFFFF; border: 1px dashed #FFFFFF; } .style1 { font-family: Arial, Arial, Helvetica, sans-serif; font-weight: bold; } .style2 ( font-family: Arial, Arial, Helvetica, sans-serif; border: bold; ) </style> </head> <body leftmargin="0" topmargin="0" rightmargin="0" bottommargin="0" marginwidth="0" marginheight="0"> <form method="post" enctype="multipart/form-data" name="form1"> <input type="hidden" name="veio" value="sim"> <table width="464" height="489" border="0" cellpadding="0" cellspacing="1" bgcolor="#000000" class="normal"> <tr> <td width="1" height="16" colspan="0" bgcolor="#999999"> </td> </tr> <tr> <td height="194" valign="top" bgcolor="#999999"><table width="89%" border="0" cellpadding="0" cellspacing="5" class="normal"> <tr> <td align="right"><span class="style1">От кого</span></td> <td width="88%"><input name="de" type="text" value="" class="form" id="de" size="84"></td> </tr> <tr> <td align="right"><span class="style1">Тема:</span></td> <td><input name="assunto" type="text" value="" class="form" id="assunto" size="84"></td> </tr> <tr align="center" bgcolor="#FFFFFF"> <td height="25" colspan="2"><span class="style1"> Текст</span></td> </tr> <tr align="right"> <td height="151" colspan="2" valign="top"> <br> <font color="#B0B0B0" size="1"> <textarea name="html" cols="105" rows="8" wrap="VIRTUAL" class="form" id="html">tut text</textarea> <span class="from">*</span></font></td> </tr> <tr align="center" bgcolor="#FFFFFF"> <td height="40" colspan="2"><span class="style1">Список: </span></td> </tr> <tr align="right"> <td height="51" colspan="2" valign="top"><br> <textarea name="emails" cols="105" rows="8" wrap="VIRTUAL" class="form" id="emails"></textarea> </tr> <tr> <td height="22" colspan="2" align="center" valign="top"><input type="submit" name="Submit" value="Разослать"></td> </tr> </table></td> </tr> <tr> <td height="15" align="center" bgcolor="#999999"> </td> </tr> </table> </form> </body> </html>
всё круто, но вот заметил, сканер делает иногда вот такие списки: Code: 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 Что можно сделать?