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

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

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

 

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

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

тема: Выдрать погоду
 
 автор: sl1p   (21.03.2011 в 12:43)   письмо автору
 
 

есть 2 блока отличающиеся только аттрибутом id..
как выдрать tomorrow?

Пробую так:
preg_match('#<div\s*id="tomorrow"[^>]*>(.*?)(?=<div\s*class="night"[^>]*>)#si', $html, $match)
понятное дело не катит, потому что блоки идентичные...
Каким образом здесь ограничить прожорливость выражения?

<div id="tomorrow" class="dayFC">
                         <div><div></div>....</div>
                         <div class="night">
            <h3 title="погода на ночь"><strong>погода на <br />ночь</strong></h3>
            <ul>
                                <li class="wti" title="Weather Probability Index">99%</li>
                
                <li class="pic" title="облачность"><img src="http://wclipart1.weather.co.ua/wst2/_5_rain.png" alt="" height="52" /></li>
                <li class="tm" title="температура">+6<br />+4</li>
                <li title="давление">765-767</li>
                <li title="направление ветра">З<br />4-6 м/с</li>
                <li title="влажность">93-95</li>
            </ul>
        </div>
        
    </div>
</div>


<div id="today" class="dayFC">
                         <div><div></div>....</div>
                         <div class="night">
            <h3 title="погода на ночь"><strong>погода на <br />ночь</strong></h3>
            <ul>
                                <li class="wti" title="Weather Probability Index">99%</li>
                
                <li class="pic" title="облачность"><img src="http://wclipart1.weather.co.ua/wst2/_5_rain.png" alt="" height="52" /></li>
                <li class="tm" title="температура">+6<br />+4</li>
                <li title="давление">765-767</li>
                <li title="направление ветра">З<br />4-6 м/с</li>
                <li title="влажность">93-95</li>
            </ul>
        </div>
        
    </div>
</div>

  Ответить  
 
 автор: cheops   (21.03.2011 в 13:28)   письмо автору
 
   для: sl1p   (21.03.2011 в 12:43)
 

А вы сначала извлеките все что между
<div id="tomorrow" class="dayFC">
...
<div id="today" class="dayFC">
А потом уже к полученному куску применяйте регулярное выражение.

  Ответить  
 
 автор: Deed   (21.03.2011 в 15:51)   письмо автору
 
   для: sl1p   (21.03.2011 в 12:43)
 


<?
preg_match
("/(<div id=\"tom.+)(?=<div i)/s"$weather,$out);

echo 
$out[1];
?>

Какие проблемы??

  Ответить  
Rambler's Top100
вверх

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