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]   

> Без описания
Foster
Отправлено: 17 Июля, 2011 - 16:30:13
Post Id


Новичок


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


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




Есть хтмл код
CODE (html):
скопировать код в буфер обмена
  1. <textarea name="mirror4" cols="40" rows="4">111
  2. 222
  3. 333
  4. 444
  5. </textarea>


Пытаюсь выдрнуть содержимое внутри тегов textarea

PHP:
скопировать код в буфер обмена
  1. preg_match_all('#<textarea name="mirror4" cols="40" rows="4">(.+)</textarea>#i', $res, $tmp);
  2. print_r($tmp[1]);


Код к сожалению работает только если теги, и содержимое текстарея находятся в одной строке.
Как сделать что бы регулярка цепляла полностью весь текст заключенный в тег включая переводы строки?

(Отредактировано автором: 17 Июля, 2011 - 16:31:59)

 
 Top
Roler
Отправлено: 17 Июля, 2011 - 16:36:13
Post Id



Посетитель


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


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




/s к регулярке допишите в конец.

PHP:
скопировать код в буфер обмена
  1. preg_match_all('#<textarea name="mirror4" cols="40" rows="4">(.+)</textarea>#si', $res, $tmp);

(Отредактировано автором: 17 Июля, 2011 - 16:36:52)

 
 Top
Foster
Отправлено: 17 Июля, 2011 - 17:00:41
Post Id


Новичок


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


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




Roler пишет:
/s к регулярке допишите в конец.

Все бы хорошо, но если в тегах отсутствует текст он выводит часть текста которая следует после маски в регулярном выражении. Ниже полный исходник скрипта

PHP:
скопировать код в буфер обмена
  1. <?
  2. $res='<td><B>Hoster:</B></td>
  3. <td><input type="text" name="hoster3" size="50" value="Easy-share"/></td>
  4. </tr>
  5. <tr>
  6. <td><B>Mirror 3:</B></td>
  7. <td><textarea name="mirror3" cols="40" rows="4">http://www.filesonic.com/file/1368907054/ItaExPe.part1.rar
  8. http://www.filesonic.com/file/1368928034/ItaExPe.part2.rar
  9. http://www.filesonic.com/file/1368930694/ItaExPe.part3.rar
  10. http://www.filesonic.com/file/1368975374/ItaExPe.part4.rar
  11. http://www.filesonic.com/file/1369002784/ItaExPe.part5.rar
  12. http://www.filesonic.com/file/1369010514/ItaExPe.part6.rar
  13. http://www.filesonic.com/file/1369021414/ItaExPe.part7.rar
  14.  
  15. </textarea></td>
  16. </tr>
  17. <tr>
  18. <td><B>Hoster:</B></td>
  19. <td><input type="text" name="hoster4" size="50" value="Filesonic"/></td>
  20. </tr>
  21. <tr>
  22. <td><B>Mirror 4:</B></td>
  23. <td><textarea name="mirror4" cols="40" rows="4"></textarea></td>
  24. </tr>
  25. <tr>
  26. <td><B>Hoster:</B></td>
  27. <td><input type="text" name="hoster5" size="50"value="" /></td>
  28. </tr>
  29. <tr>
  30. <td><B>Mirror 5:</B></td>
  31. <td><textarea name="mirror5" cols="40" rows="4"></textarea></td>
  32. </tr>
  33. <tr>
  34. <td><B>Hoster:</B></td>
  35. <td><input type="text" name="hoster6" size="50" value=""/></td>
  36. </tr>
  37. <tr>
  38. <td>         ';
  39.  
  40. preg_match('#<td><textarea name="mirror4" cols="40" rows="4">(.+?)</textarea>#is', $res, $tmp);
  41. print_r($tmp[1]);
  42. ?>
 
 Top
Roler
Отправлено: 17 Июля, 2011 - 22:02:01
Post Id



Посетитель


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


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




PHP:
скопировать код в буфер обмена
  1.     preg_match_all('#<textarea name="mirror4" cols="40" rows="4">(.*)</textarea>#si', $res, $tmp);


.* а не .+
 
 Top
kotoff
Отправлено: 10 Мая, 2012 - 17:56:42
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Май 2012  


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




Foster пишет:
/s к регулярке допишите в конец.


Вот блин 2 дня убил не мог разобраца почему не работает регулярка после замены eregi на preg_match, пока не наткнулся на этот форум.

скрин кода

(Отредактировано автором: 10 Мая, 2012 - 18:00:08)

 
 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