Вырезать таблицу со страницы регулярным выражением

  • Автор темы Автор темы vitaliy_11
  • Дата начала Дата начала

vitaliy_11

Guest
Вырезать таблицу со страницы регулярным выражением

Есть страница html

Приблизительная структура

<html> <h3>44444444444</h3>
<table width=\"1001\"><tr><td>rrrrrrrrrrr
<table width=1002> <tr><td>
<table width=1003>
<tr><td>
--------------------------------------------------------------------------
<table width=1004> <tr><td>
main text</td></tr></table>
---------------------------------------------------------------------------
</td></tr></table>
</td></tr></table>
</td></tr></table>
Выделенное надо получить

Знаю что в мне надо найти пятый по счету тэг <table> от начала - начало нужного текста

и окончание перед четвертым тэгом </table> с конца

Пишу регулярное выражение

PHP:
preg_match("!(<table.*?[^ >]+>.*?){5}(.*?)(<\/table>)!is", $text, $ok);

Открывающие тэги нормально ищет , а с закрывающими проблема

Может кто зает как это сделать?
Или какой другой способ подскажите.
 
Дело в том что я не знаю что там точно <table width=1004>

и в этой таблице еще могут быть свои вложенные таблицы

Что я точно знаю, <table> по счету сверху и </table> по счету снизу, информацию между ними нужно получить
 
С владельцем воруемого контента договориться не пробовал? Говорят, помогает
 
Да я хочу с чужого сайта вставить контент в свой сайт (новости, ссылки).

Я может когдато и напишу это, но если кому не жалко то пожалуйста подскажите
 
vitaliy_11
Контент воровать не хорошо. Даже, я бы сказал, подло.
 
vitaliy_11
Я тебе уже сказал, какой наилучший вариант.

Обычно владельцы сайтов достаточно охотно идут на предоставление информации при условии, что будет указан их сайт в качестве источника.
Думаю, разобрать XML (как вариант - RSS) с заведомо известной структурой проще, чем городить невесть что в надежде на то, что у "воруемого" сайта не сменится дизайн.
 
Все, сделал через строковые функции.

Всем спасибо!
 
Сверху