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

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

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

 

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

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

тема: Регулярное выражение для извлечения информации из HTML-кода.
 
 автор: off   (17.10.2006 в 00:23)   письмо автору
 
 

Есть html код

<tr><td class="name" width="120"><font class="new">.</font><a class="travel" href="http://www.xatvs.com/" target="TV">XATV-2</a></td><td class="qm">

<a class="m" href="javascript:listen('http://www.xatvs.com/','http://site/online/7780.asx',0)">300K</a></td>

 </td><td class="q"><center><font class="hd2">Y</td><td class="qe"><font class="hd2">TV from Xian City.</td></tr>



Нужно вытащить:

$name = XATV-2
$link1 = http://www.xatvs.com/
$link2 = http://site/online/7780.asx
$speed = 300K
$desc = TV from Xian City

Люди! Помогите пожалуйста. Вчера весь день мучался, так и не смог сделать. В рег. выр. я не селен ((((

   
 
 автор: cheops   (17.10.2006 в 14:27)   письмо автору
 
   для: off   (17.10.2006 в 00:23)
 

Можно поступить следующим образом:
<?php 
  $text 
'<tr><td class="name" width="120"><font class="new">.</font><a class="travel" href="http://www.xatvs.com/" target="TV">XATV-2</a></td><td class="qm"> 
<a class="m" href="javascript:listen(\'http://www.xatvs.com/\',\'http://site/online/7780.asx\',0)">300K</a></td> 
 </td><td class="q"><center><font class="hd2">Y</td><td class="qe"><font class="hd2">TV from Xian City.</td></tr>'
;
  
$pattern "#<a[\s]+class=\"travel\"[\s]+href=\"([^\"]+)\"[\s]+target=\"TV\">([^<]+)</a>.*listen\('[^']+','([^']+)',0\)\">([^<]+)<#isU";
  
preg_match($pattern$text$out);
  
$name $out[2]; //XATV-2
  
$link1 $out[1]; //http://www.xatvs.com/
  
$link2 $out[3]; //http://site/online/7780.asx
  
$speed $out[4]; //300K
  
$pattern "#<font[\s]+class=\"hd2\">([^<]+)</td></tr>#isU";
  
preg_match($pattern$text$out);
  
$desc $out[1]; //TV from Xian City
?>

   
 
 автор: off   (17.10.2006 в 23:19)   письмо автору
 
   для: cheops   (17.10.2006 в 14:27)
 

Cheops, ТЫ №1!!! ОГРОМНОЕ СПАСИБО!

   
Rambler's Top100
вверх

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