|
|
|
| Подскажите кто-нибудь, как написать регулярное выражение для разбора строки таблицы
Html код следующий
<TR bgColor=white>
<TD>48</TD>
<TD><A
href="http://localhost/primer/scan_html_12_11.php"
target=_blank><B style="COLOR: green">Ботово (Волоколамский
р-н)</B></A></TD>
<TD align=middle>1-комн.кв.</TD>
<TD align=middle>34м<SUP>2</SUP></TD>
<TD align=middle>17.5м<SUP>2</SUP></TD>
<TD align=middle>8м<SUP>2</SUP></TD>
<TD align=middle>17,5</TD>
<TD align=middle><B>1,060,000р.<BR>(42309$)</B><FONT
color=green><BR>м<SUP>2</SUP>-1,244$</FONT></TD>
<TD align=middle>3/4<BR>пан</TD>
<TD>Лифт: нет ; Балкон: 1Л ; <BR>Окна: двор; Санузел: 1С ;
<BR>Телефон: нет; <FONT color=blue>Свободная</FONT></TD>
<TD>(926)140-1519<BR>(926)580-1114</TD>
<TD><FONT color=#0000a0>24.06.09 10:21</FONT> <A
href="http://localhost/primer/scan_html_12_11.php"
target=_blank><частный маклер></A> <NOINDEX>недалеко от
Волоколамска 15-20 мин , удоб. транс.сообщение,большая лоджия
6м,квартира солнечная, ухоженая(после ремонта,новая
сантехника,газ.плита),горхол вода,со всеми удобствами, рядом
мед.пункт,магазины,остановка, дет.сад, школа,красивый
лес.Чистый воздух,спокойное место.</NOINDEX></TD></TR>
|
$scan = "|??????????????????|isU"; | |
|
|
|
|
|
|
|
для: Чайка
(11.10.2007 в 13:15)
| | что нужно на выходе получить? если все, что внутри td, то как-то так:
/.?<td.*?>(.*?)<\/td>.?/gis
|
Не проверял. | |
|
|
|
|
|
|
|
для: SHAman
(11.10.2007 в 13:19)
| | А что это за модификатор g ?
Покомпактнее
| |
|
|
|
|
|
|
|
для: Faraon
(11.10.2007 в 14:06)
| | > А что это за модификатор g?
Этот модификатор (g - global) присутствует в регулярных выражениях в Perl. Он нужен для нахождения всех соответствий pettern'у. В PHP это вызовет только ошибку. | |
|
|
|
|
|
|
|
для: Faraon
(11.10.2007 в 14:06)
| | <td.+?> - вовсе не обязательно, что между "<td" и ">" что-то должно присутствовать..
> Unkind, В PHP это вызовет только ошибку.
Ага, тут надо preg_match_all применять. | |
|
|
|
|
|
|
|
для: kasmanaft
(11.10.2007 в 16:21)
| | Спасибо за помощь! | |
|
|
|
|
|
|
|
для: kasmanaft
(11.10.2007 в 16:21)
| | Да, извините. Никак не могу привыкнуть к тому, что в пхп для поиска в разных режимах две разные функции... | |
|
|
|
|
|
|
|
для: SHAman
(12.10.2007 в 11:24)
| | Спасибо за поддержку, второй день озадачен, но пока не под силу
Граблю с помощью preg_match_all
Разложил таблицу на строки так
/<tr.bgColor=white>(.+?)<\/tr>/is
|
Далее строку пытаюсь разложить на столбцы
Пытаюсь как вы подсказывали так
У меня почемуто первые два тега <td> глатает вместе РЕЗУЛЬТАТ получается такой
<TD>48</TD> <TD><A href="http://localhost/primer/scan_html_12_11.php" target=_blank><B style="COLOR: green">Ботово (Волоколамский р-н)</B></A></TD>
<TD align=middle>1-комн.кв.</TD>
<TD align=middle>34м<SUP>2</SUP></TD>
|
Почему так никак не пойму :-( | |
|
|
|
|
|
|
|
для: Чайка
(12.10.2007 в 14:07)
| | Потому что "<td.+?> - вовсе не обязательно, что между "<td" и ">" что-то должно присутствовать.." B)
Попробуйте <td.*?>.... | |
|
|
|
|
|
|
|
для: kasmanaft
(12.10.2007 в 14:55)
| | Ошромное спасибо kasmanaft у, все заработало корректно! :-) | |
|
|
|