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

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

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

 

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

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

тема: Извлечение..
 
 автор: Xickan   (11.03.2008 в 19:25)   письмо автору
 
 

Добрый вечер.
Как при помощи рег выражений можно извлечь значения:
Яблоко - 34
Груша - 52

<table width="95%" border="0" cellspacing="1" cellpadding="3">
              <tr> 
       <td width="28%" align="center"><img src="images/app.gif" width="31" height="19"></td>
       <td width="8%" class="kurs" align="center">1</td>
                <td width="40%" class="kurs" align="left">Яблоко</td>
                <td width="24%" class="kurs">34</td>
              </tr>
              <tr> 
       <td width="28%" align="center"><img src="images/gru.gif" width="31" height="19"></td>
                <td width="8%" class="kurs" align="center">2</td>
                <td width="40%" class="kurs" align="left">Груша</td>
                <td width="24%" class="kurs">52</td>
              </tr>
              <tr> 
       <td width="28%" align="center"><img src="images/ban.gif" width="31" height="19"></td>
       <td width="8%" class="kurs" align="center">3</td>
                <td width="40%" class="kurs" align="left">Банан</td>
                <td width="24%" class="kurs">14</td>
              </tr>
</table>

   
 
 автор: dimon_td   (12.03.2008 в 13:35)   письмо автору
 
   для: Xickan   (11.03.2008 в 19:25)
 

Кстати, тоже интересует этот вопрос...

   
 
 автор: cheops   (12.03.2008 в 15:21)   письмо автору
 
   для: Xickan   (11.03.2008 в 19:25)
 

Можно воспользоваться следующим решением
<?php
  $contents 
'<table width="95%" border="0" cellspacing="1" cellpadding="3"> 
              <tr>  
       <td width="28%" align="center"><img src="images/app.gif" width="31" height="19"></td> 
       <td width="8%" class="kurs" align="center">1</td> 
                <td width="40%" class="kurs" align="left">Яблоко</td> 
                <td width="24%" class="kurs">34</td> 
              </tr> 
              <tr>  
       <td width="28%" align="center"><img src="images/gru.gif" width="31" height="19"></td> 
                <td width="8%" class="kurs" align="center">2</td> 
                <td width="40%" class="kurs" align="left">Груша</td> 
                <td width="24%" class="kurs">52</td> 
              </tr> 
              <tr>  
       <td width="28%" align="center"><img src="images/ban.gif" width="31" height="19"></td> 
       <td width="8%" class="kurs" align="center">3</td> 
                <td width="40%" class="kurs" align="left">Банан</td> 
                <td width="24%" class="kurs">14</td> 
              </tr> 
</table>'
;
  
$pattern "|<td[^>]+>([^<]+)</td>[\s]*<td[^>]+>([^<]+)</td>[\s]*</tr>|is";
  
preg_match_all($pattern$contents$out);
  unset(
$out[0]);
  echo 
"<pre>";
  
print_r($out);
  echo 
"</pre>";
?>

   
 
 автор: Xickan   (12.03.2008 в 23:22)   письмо автору
 
   для: cheops   (12.03.2008 в 15:21)
 

Спасибо большое. Все работает.
И еще подскажите пож. где можно прочитать о рег выражениях.

   
 
 автор: ipic   (13.03.2008 в 03:41)   письмо автору
 
   для: Xickan   (12.03.2008 в 23:22)
 

Прикольная статья:
http://phpclub.ru/detail/article/regexp_1
Благодаря ей слету читаются (более менее приземленные *добавлено)) регулярки и пишутся свои

   
 
 автор: cheops   (13.03.2008 в 11:01)   письмо автору
 
   для: Xickan   (12.03.2008 в 23:22)
 

Исчерпывающее описание регурярных выражений можно найти в книге "Регулярные выражения" Дж. Фридл.

   
Rambler's Top100
вверх

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