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 :: Версия для печати :: разбор html кода регулряками
Форумы портала PHP.SU » » Вопросы новичков » разбор html кода регулряками

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

1. voskan - 19 Декабря, 2012 - 00:08:44 - перейти к сообщению
Всем привет Улыбка есть сайт site.ru , на странице site.ru/anekdot.php есть 30 анекдотов Улыбка

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

анекдоты находяться между тегами <div class="anekdot">текст анекдота</div>
я первый анекдот страницы получаю все ок. а как сделать чтоб получать все 30 ???

помогите пожалуйста если можно то примером.
2. sKaa - 19 Декабря, 2012 - 01:19:16 - перейти к сообщению
А можно взглянуть на регулярку которой вы получаете первый анекдот? Подозреваю, что тоже самое только preg_match_all
3. voskan - 19 Декабря, 2012 - 09:45:21 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. preg_match_all('|(.*)<td class="anekdot">(.*)</div>|', $anekdot_content, $anekdot);  

(Добавление)
не получается как ты сказал Улыбка
4. titan47558 - 19 Декабря, 2012 - 11:25:42 - перейти к сообщению
WTF, так td или div?
5. voskan - 19 Декабря, 2012 - 13:49:08 - перейти к сообщению
<div> там опечатка Улыбка
6. sKaa - 19 Декабря, 2012 - 14:15:11 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $var =
  2.         '<table>
  3.                 <tr> <td class="anekdot"> text one </td></tr>  
  4.                 <tr> <td class="anekdot"> text one </td></tr>
  5.                 <tr> <td class="anekdot"> text one </td></tr>
  6.                 <tr> <td class="anekdot"> text one </td></tr>
  7.         </table>
  8.         ';
  9.        
  10. preg_match_all('/(?<=<td class="anekdot">)(.*)(?=<\/td>)/i', $var, $matches);
  11.  
  12. var_dump($matches);
7. voskan - 23 Декабря, 2012 - 13:36:26 - перейти к сообщению
sKaa огромное спасибо Улыбка))))
8. voskan - 29 Декабря, 2012 - 11:39:32 - перейти к сообщению
при таком коде отображает весь текст анекдотов которые вытащил с сайта, а вот как каждый отдельный анекдот вытащить чтоб добавить к себе в бд.

30 анекдотов - при команде var_damp отображаются все анекдоты с указанной страницы. и у каждого есть свой массив как сделать так чтоб 1 анекдот отобразить пробывал $matches['0']$matches['1']$matches['2'] и т д но не получается почему то.

 

Powered by ExBB FM 1.0 RC1