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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Разбить текст на строки

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
vsll
Отправлено: 09 Апреля, 2011 - 20:50:28
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 530
Дата рег-ции: Февр. 2011  


Помог: 10 раз(а)




Есть код:
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" }

как обработать все строки?

(Отредактировано автором: 09 Апреля, 2011 - 20:51:27)

 
 Top
Lozzie
Отправлено: 09 Апреля, 2011 - 22:33:19
Post Id


Новичок


Покинул форум
Сообщений всего: 22
Дата рег-ции: Апр. 2011  
Откуда: /usr/home/


Помог: 2 раз(а)




Пробовали preg_match_all с флагом "m"?
 
 Top
Champion Супермодератор
Отправлено: 10 Апреля, 2011 - 07:50:29
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




Наверное, каждый байт ip адреса по отдельности не нужен?
preg_match_all('/([\w.-]+):(\d+)/m', $_POST['proxy_list'], $m);
var_dump($m);


([\w.-]+) - потому что мало ли там не ip, а доменное имя. Если все-таки только ip, то ((?:\d{1,3}\.){3}\d{1,3})
 
 Top
vsll
Отправлено: 10 Апреля, 2011 - 11:29:08
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 530
Дата рег-ции: Февр. 2011  


Помог: 10 раз(а)




Попробую сейчас
(Добавление)
ну конечно, надо было preg_match_all использовать, а не preg_match и где глаза только вчера вечером были? Lozzie ваш ответ тоже зачёт
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Регулярные выражения »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB