Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Разбить текст на строки
Форумы портала PHP.SU » PHP » Регулярные выражения » Разбить текст на строки

Страниц (1): [1]
 

1. vsll - 09 Апреля, 2011 - 20:50:28 - перейти к сообщению
Есть код:
PHP:
скопировать код в буфер обмена
  1. if (isset($_POST['save_proxies']) && isset($_POST['proxy_list'])) {
  2. preg_match("/([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)\:([0-9]+)/", $_POST['proxy_list'], $proxy);
  3. var_dump ($proxy);
  4. }
  5.  
  6.         echo "<form name='proxysend' method='post'>\n";
  7.         echo "<table class='base'>\n";
  8.         echo "<tr>\n<td>".$locale['601']."</td>\n</tr>\n";
  9.         echo "<tr>\n<td>\n";
  10.         echo "<textarea name='proxy_list' cols='60' rows='5' class='textbox'></textarea>";
  11. ...
  12.  


который выдаёт если вставить в textarea, например
CODE (htmlphp):
скопировать код в буфер обмена
  1. 72.167.47.197:80
  2. 83.139.23.183:3128
  3. 169.229.50.4:3128
  4. 75.101.198.66:8118
  5. 212.75.141.100:808
  6. 77.51.244.3:3128
  7. 125.40.85.96:3128
  8. 92.50.129.74:3128
  9. 64.64.197.160:3128
  10. 83.136.114.18:3128
  11.  

только array(6) { [0]=> string(16) "72.167.47.197:80" [1]=> string(2) "72" [2]=> string(3) "167" [3]=> string(2) "47" [4]=> string(3) "197" [5]=> string(2) "80" }

как обработать все строки?
2. Lozzie - 09 Апреля, 2011 - 22:33:19 - перейти к сообщению
Пробовали preg_match_all с флагом "m"?
3. Champion - 10 Апреля, 2011 - 07:50:29 - перейти к сообщению
Наверное, каждый байт ip адреса по отдельности не нужен?
preg_match_all('/([\w.-]+):(\d+)/m', $_POST['proxy_list'], $m);
var_dump($m);


([\w.-]+) - потому что мало ли там не ip, а доменное имя. Если все-таки только ip, то ((?:\d{1,3}\.){3}\d{1,3})
4. vsll - 10 Апреля, 2011 - 11:29:08 - перейти к сообщению
Попробую сейчас
(Добавление)
ну конечно, надо было preg_match_all использовать, а не preg_match и где глаза только вчера вечером были? Lozzie ваш ответ тоже зачёт

 

Powered by ExBB FM 1.0 RC1