[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вопрос про разбор таблицы
program90
вопрос:
вот есть таблица - ее надо распарсить регулярными выражениями.
Такие как это не берут:
|\<td.*?\>.*?\</td\>|
Просто .................. возвращают.
Есть у кого то наработки - для парсинга талбиц. Давно кстати этот вопрос интересует - раньше тоже приходилось все это ............. делать.
Вот пример такого ........... Повторяетя каждую строчку в таблице. Классы и идентиикаторы примерно одинаковые, т.е. связаны закономерно

<tr id="idtr10048065" class="trm_02">
<td
class="tdm_11">

<input
type="checkbox" onclick="basket('10048065','trm_02');" value="10048065" name="cho10048065" id="idcho10048065">
<br>
<em>
10048065</em>
</td>
<td
class="tdm_01">1к.кв.<br><font color="#cc0033">продам</font><br><font color="#999999">15:07<br>03.01.12</font></td>
<!-- <td class="tdm_03">
</td>-->

<td class="tdm_02">

<span
class="tdm_rn">Московский р-н</span><br>
ул.Галстяна<br><em>угол с 5-й Предпортовый проезд</em><br><table width="100%" cellspacing="0" cellpadding="0" border="0" class="text04">
<tbody><tr>
<td
align="right">
<!-- <a href="javascript: mapShow('%F3%EB.%C3%E0%EB%F1%F2%FF%ED%E0');">на карте <img src="images/onmap.gif" border="0" alt="смотреть на карте"></a>-->
<a target="_blank" href="/mapshow.php?text=%F3%EB.%C3%E0%EB%F1%F2%FF%ED%E0">на карте <img border="0" alt="смотреть на карте" src="images/onmap.gif"></a>
</td>
</tr>
</tbody></table>
</td>
<td
class="tdm_03">
Московская,<br>15 м.п. </td>

<td
class="tdm_041">
<strong>
35</strong>
</td>
<td
class="tdm_042">
16
</td>
<td
class="tdm_043">
9
</td>
<td
class="tdm_044">
19/25
</td>
<td
class="tdm_045">
разд с/у
</td>
<td
class="tdm_04">
<div
style="color: rgb(51, 51, 51); margin-top: 3px;">
<strong>
Кирп/Мон</strong><br>Жилое</div>
</td>
<td
class="tdm_05">
3.650.000<br>
руб<br><div style="font-size: 11px; color: rgb(153, 153, 153); margin-top: 2px;">105 тыс.р.<br>за кв.м.</div>
</td>
<td
style="background-color: rgb(255, 243, 221);" class="tdm_07">
ВП </td>
<td
class="tdm_08">




<table
width="100%" cellspacing="0" cellpadding="0" border="0">
<tbody><tr
align="left">
<td
width="74">
<div
style="width: 70px; text-align: center; padding: 2px; margin: 2px; background-color: rgb(255, 255, 255); font-size: 11px;">
Втор/Рынок</div>
</td>
<td>
<div
style="width: 54px; text-align: center; padding: 2px; margin: 2px; background-color: rgb(255, 255, 255); font-size: 11px;">
ЖФ </div>
</td>
</tr>
</tbody></table>



Лдж, Есть Лифт, Новый Дом, 2010г.п.<br>Возм/Обмен с Допл, Торг, После/Рем<br><img border="0" src="images/tel.gif"> <span style="font-size: 14px; color: rgb(7, 67, 32);">970-41-43, 945-28-85</span><br>
<span
style="color: rgb(7, 67, 32); font-weight: bold;" class="under_lnk"><a style="color: rgb(7, 67, 32);" target="_blank" href="/agentlist.php?agent=7504">Оксана</a></span> <span class="under_lnk">[Предприниматель]</span>
<br><span
onmouseout="UnTip()" onmouseover="showTipInfo('about_ip');" style="cursor: pointer;"><img border="0" align="absmiddle" src="/images/status/predpr.gif"></span>
<span
onmouseout="UnTip()" onmouseover="showTipInfo('ip');" style="cursor: pointer;" title=""><img border="0" align="absmiddle" src="/images/status/document-properties.gif"></span>
</td>
<td
title="Фотографии" class="tdm_09">
</td>
</tr>




 ! 
[mod][/mod]sergeiss
Из Правил форума, п.4.а "Основным языком форума является русский язык.", а не "русский матерный".



Спустя 10 минут, 20 секунд (3.01.2012 - 14:22) johniek_comp написал(а):
откуда до куда надо спарсить?

Спустя 2 минуты, 25 секунд (3.01.2012 - 14:25) program90 написал(а):
johniek_comp
http://arenda-piter.ru/workpage.php?page=online
вот эта страница. ее надо парсить. всю таблицу. Нужно короче просто существенный текст достать. типа коливество комнате квартир, площадь и т.д. Просто одну информацию.
Но у меня таблицы давно не получается парсить.

Спустя 47 минут, 14 секунд (3.01.2012 - 15:12) johniek_comp написал(а):
$page = file_get_contents("http://arenda-piter.ru/workpage.php?page=online");
preg_match("#<table width=100% border=0 cellspacing=1 cellpadding=1 class=tbm_01>(.*)</table>#isU", $page, $match);
echo '<pre>'.(htmlspecialchars(strip_tags (print_r($match)))).'</pre>';

Спустя 1 час, 36 минут, 54 секунды (3.01.2012 - 16:49) program90 написал(а):
это внутренняяя часть таблицы с html тэгами.
Прото мне нужно достать содержимое каждой ячейки, чтобы сохранить в базе данных

Спустя 59 минут, 54 секунды (3.01.2012 - 17:49) johniek_comp написал(а):
program90
Я те подсказал не хило. За тебя никто не напишет, тем более тема в php для знатоков smile.gif

Спустя 9 минут, 19 секунд (3.01.2012 - 17:58) SlavaFr написал(а):
а чем XPath и DomDocument не нравится?
/td
http://www.w3schools.com/xpath/xpath_syntax.asp
http://www.php.net/manual/en/domdocument.loadhtmlfile.php
http://www.php.net/manual/de/domxpath.query.php


пример :
<?php
$doc = new DOMDocument;
$doc->loadHTMLFile('http://arenda-piter.ru/workpage.php?page=online');
$xpath = new DOMXPath($doc);
foreach($xpath->query("//table//tr[@class='trm_02']//td") as $td){
echo $td->nodeValue."\n";
}

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.