Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Найти таблицу
 
 автор: bronenos   (05.11.2007 в 11:34)   письмо автору
 
 

Почему-то не находит таблицу
<TABLE class="forecast" cellspacing=0 cellpadding=6 border=0 style="width: 100%;">
<TR style="background-color: #FFFDE4;">
    <TH>Время суток
    <TH>Температура воздуха, &deg;C
    <TH>Облачность, осадки
    <TH>Атмосферное давление, мм рт.ст.
    <TH>Влажность воздуха
    <TH>Ветер
<TR style="background-color: #DAD8BC;">
    <TD colspan=6>Пн, 5 ноября 2007 г.
<TR style="text-align: center;">
    <TD>ночь
    <TD style="font-size: 1.1em;" nowrap>+7 ... +9
    <TD bgcolor=#0D3F8F><img src="/a0/ru/images/icons/icon_01-2.gif" alt="ясно" title="ясно" width="30" height="30" border="0">
    <TD>750 мм ... 752 мм
    <TD>53% ... 58%
    <TD>З, 3-6 м/с (10-21 км/ч)
<TR style="background-color: #DAD8BC;">
    <TD colspan=6>Вт, 6 ноября 2007 г.
<TR style="text-align: center;">
    <TD>утро
    <TD style="font-size: 1.1em;" nowrap>+5 ... +7
    <TD><img src="/a0/ru/images/icons/icon_01.gif" alt="ясно" title="ясно" width="30" height="30" border="0">
    <TD>750 мм ... 752 мм
    <TD>60% ... 65%
    <TD>С-З, 3-6 м/с (10-21 км/ч)
<TR style="text-align: center;">
    <TD>день
    <TD style="font-size: 1.1em;" nowrap>+5 ... +7
    <TD><img src="/a0/ru/images/icons/icon_01.gif" alt="ясно" title="ясно" width="30" height="30" border="0">
    <TD>750 мм ... 752 мм
    <TD>65% ... 70%
    <TD>С-З, 3-6 м/с (10-21 км/ч)
<TR style="text-align: center;">
    <TD>вечер
    <TD style="font-size: 1.1em;" nowrap>+11 ... +13
    <TD bgcolor=#0D3F8F><img src="/a0/ru/images/icons/icon_01-2.gif" alt="ясно" title="ясно" width="30" height="30" border="0">
    <TD>747 мм ... 749 мм
    <TD>46% ... 51%
    <TD>С, 3-6 м/с (10-21 км/ч)
<TR style="text-align: center;">
    <TD>ночь
    <TD style="font-size: 1.1em;" nowrap>+6 ... +8
    <TD bgcolor=#0D3F8F><img src="/a0/ru/images/icons/icon_01-2.gif" alt="ясно" title="ясно" width="30" height="30" border="0">
    <TD>748 мм ... 750 мм
    <TD>50% ... 55%
    <TD>С, 3-6 м/с (10-21 км/ч)
<TR style="background-color: #DAD8BC;">
    <TD colspan=6>Ср, 7 ноября 2007 г.
<TR style="text-align: center;">
    <TD>утро
    <TD style="font-size: 1.1em;" nowrap>+4 ... +6
    <TD><img src="/a0/ru/images/icons/icon_02.gif" alt="малооблачно" title="малооблачно" width="30" height="30" border="0">
    <TD>748 мм ... 750 мм
    <TD>55% ... 60%
    <TD>С, 3-6 м/с (10-21 км/ч)
<TR style="text-align: center;">
    <TD>день
    <TD style="font-size: 1.1em;" nowrap>+5 ... +7
    <TD><img src="/a0/ru/images/icons/icon_03.gif" alt="облачно" title="облачно" width="30" height="30" border="0">
    <TD>748 мм ... 750 мм
    <TD>51% ... 56%
    <TD>С-В, 3-6 м/с (10-21 км/ч)
<TR style="text-align: center;">
    <TD>вечер
    <TD style="font-size: 1.1em;" nowrap>+9 ... +11
    <TD bgcolor=#0D3F8F><img src="/a0/ru/images/icons/icon_03-2.gif" alt="облачно" title="облачно" width="30" height="30" border="0">
    <TD>745 мм ... 747 мм
    <TD>40% ... 45%
    <TD>безветренно
<TR style="text-align: center;">
    <TD>ночь
    <TD style="font-size: 1.1em;" nowrap>+7 ... +9
    <TD bgcolor=#0D3F8F><img src="/a0/ru/images/icons/icon_03-2.gif" alt="пасмурно" title="пасмурно" width="30" height="30" border="0">
    <TD>746 мм ... 748 мм
    <TD>51% ... 56%
    <TD>В, 1-3 м/с (3-10 км/ч)
<TR style="background-color: #DAD8BC;">
    <TD colspan=6>Чт, 8 ноября 2007 г.
<TR style="text-align: center;">
    <TD>утро
    <TD style="font-size: 1.1em;" nowrap>+5 ... +7
    <TD><img src="/a0/ru/images/icons/icon_03.gif" alt="облачно" title="облачно" width="30" height="30" border="0">
    <TD>746 мм ... 748 мм
    <TD>57% ... 62%
    <TD>С-В, 3-6 м/с (10-21 км/ч)
<TR style="text-align: center;">
    <TD>день
    <TD style="font-size: 1.1em;" nowrap>+5 ... +7
    <TD><img src="/a0/ru/images/icons/icon_03.gif" alt="пасмурно" title="пасмурно" width="30" height="30" border="0">
    <TD>747 мм ... 749 мм
    <TD>56% ... 61%
    <TD>С-В, 3-6 м/с (10-21 км/ч)
<TR style="text-align: center;">
    <TD>вечер
    <TD style="font-size: 1.1em;" nowrap>+8 ... +10
    <TD bgcolor=#0D3F8F><img src="/a0/ru/images/icons/icon_03-2.gif" alt="пасмурно" title="пасмурно" width="30" height="30" border="0">
    <TD>747 мм ... 749 мм
    <TD>53% ... 58%
    <TD>С, 3-6 м/с (10-21 км/ч)
</TABLE>


такое выражение
'|<table class="forecast".*?>(.*?)</table>|im'

   
 
 автор: cheops   (05.11.2007 в 12:03)   письмо автору
 
   для: bronenos   (05.11.2007 в 11:34)
 

Замените модификатор m на s
'|<table class="forecast".*?>(.*?)</table>|is'

   
 
 автор: bronenos   (05.11.2007 в 13:16)   письмо автору
 
   для: cheops   (05.11.2007 в 12:03)
 

Спасибо! А разве это не... s - Single line, m - Multi lines?

   
 
 автор: EXP   (06.11.2007 в 03:32)   письмо автору
 
   для: bronenos   (05.11.2007 в 13:16)
 

насколько понял "m" даёт то что внутри шаблона все пробельные символы будут игнорироваться
[a]+ можно будет попробовать написать даже так [ a
] +

(# :\) )

   
 
 автор: kasmanaft   (06.11.2007 в 05:57)   письмо автору
 
   для: EXP   (06.11.2007 в 03:32)
 

Нет, это дает "x".
А "m" представляет текст не в виде одной строки, как при Single line, а множестве строк, при этом ^ и $ означают не начало и конец всего текста, а соотвественно начало и конец каждой строки в тексте.
Но также, если добавить модификатор "s", то "." будет обозначать и знаки переноса строки. Без этого модификатора - нет. То есть можно попробовать
'|<table class="forecast"[\s\S]*>([\s\S]*?)</table>|im' - по идее должно работать, хотя используется "m"

   
 
 автор: bronenos   (06.11.2007 в 12:32)   письмо автору
 
   для: kasmanaft   (06.11.2007 в 05:57)
 

Еще трабла
'|<td align="left"><a href="/_actions/company_info.php?id=\d+">(.*?)</a></td>

        <td>&nbsp;(.*?)</td>
        <td>&nbsp;(.*?)</td>
        
        <td>&nbsp;(.*?)</td>
        <td>&nbsp;(.*?)</td>|s'


не видит

    <tr align='center' bordercolor="#0000FF">
        <td align="left"><a href="/_actions/company_info.php?id=26">Сбербанк России</a></td>
        
        <td>&nbsp;24.07</td>
        <td>&nbsp;24.82</td>
        
        <td>&nbsp;35.24</td>
        <td>&nbsp;36.14</td>

        
        <td>&nbsp;20.77</td>
        <td>&nbsp;22.52</td>
        
        <td>&nbsp;<b>32.97</b></td>
        <td>&nbsp;34.82</td>
        
        <td>42-80-98</td>
    </tr>

   
 
 автор: cheops   (06.11.2007 в 12:44)   письмо автору
 
   для: bronenos   (06.11.2007 в 12:32)
 

А почём знаете сколько переводов строк и пробелов? Лучше все пробельные символы заменить на [\s]*

   
 
 автор: bronenos   (06.11.2007 в 12:49)   письмо автору
 
   для: cheops   (06.11.2007 в 12:44)
 

насколько понял "m" даёт то что внутри шаблона все пробельные символы будут игнорироваться
Нет, это дает "х".


preg_match('|<td align="left"><a href="/_actions/company_info.php?id=\d+">(.*?)</a></td>\s*

        <td>&nbsp;(.*?)</td>\s*
        <td>&nbsp;(.*?)</td>\s*
        
        <td>&nbsp;(.*?)</td>\s*
        <td>&nbsp;(.*?)</td>|sx', $rss, $money);


тоже нет

понял
company_info.php? > \? надо ведь

   
 
 автор: kasmanaft   (06.11.2007 в 17:29)   письмо автору
 
   для: bronenos   (06.11.2007 в 12:49)
 

> тоже нет
Но ведь игнорируются все пробелы, в том числе тут: <td align="left"><a href=...

> company_info.php? > \? надо ведь
Да, правильно..

   
 
 автор: cheops   (07.11.2007 в 13:01)   письмо автору
 
   для: bronenos   (06.11.2007 в 12:49)
 

Уберите пробелы и переводы строк.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования