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

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

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

 

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

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

тема: Вытащить кусок html кода
 
 автор: TuX   (23.03.2007 в 00:00)   письмо автору
 
 

Есть текст такого формата:

<table cellspacing=0 cellpadding=0 border=0 width=350>
<tr><td valign=top nowrap><font class="text2" id="info"><a href="high.shtml">Вузы</a> (23) <font class="date">new</font><br>
<a href="colleges.shtml">Колледжи</a> (3) <font class="date">new</font><br>

<a href="organizations.shtml">Научные организации</a> (11)<br>
</td>
<td valign=top nowrap><font class="text2" id="info"><a href="study.shtml">Обучение и методики</a> (10)<br>
<a href="projects.shtml">Проекты</a> (17)<br>
<a href="schools.shtml">Школы</a> (28)<br>

</td></tr></table>
<font class="text2"><b><a href="/cgi-bin/guide/go?ID=856">Доктор экономических наук В.И.Лоскутов</a></b></font><br>
Биография. Научные работы и статьи. Критика, полемика. Единомышленники.<br>
<a href="/cgi-bin/guide/go?ID=856" target="_blank">http://loskutov.murmansk.ru</a>
&#160;&#160;<font id="info">Добавлен: 15.04.05,&#160;переходов: 210, в нед. - 2&#160;| <a href="/cgi-bin/guide/modify.cgi?">Изменить</a> | <a href="/cgi-bin/guide/dead?ID=856">Удалить</a></font><p>

<font class="text2"><b><a href="/cgi-bin/guide/go?ID=1182">Инновационный портал Мурманской области</a></b></font><br>
Новости. Инфраструктура. Законодательство. Проекты. Информационно-аналитическая поддержка.<br>
<a href="/cgi-bin/guide/go?ID=1182" target="_blank">http://www.nordinform.ru</a>
&#160;&#160;<font id="info">Добавлен: 12.09.06,&#160;переходов: 121, в нед. - 4&#160;| <a href="/cgi-bin/guide/modify.cgi?Current">Изменить</a> | <a href="/cgi-bin/guide/dead?ID=1182">Удалить</a></font><p>

&#160;<table width="100%" cellspacing=0 cellpadding=0 border=0>



Хочу вытащить строки из верхней таблички и кусок кода начинающийся с <font class="text2"><b> и заканчивающийся &#160;<table width="100%" cellspacing=0 cellpadding=0 border=0>.

Пишу так:

<?
$text
file_get_contents($adr); \\тут подобный вешеприведенному  html код

  $pattern 
"|<table cellspacing=0 cellpadding=0 border=0 width=350>.+?<tr><td valign=top nowrap><font class=\"text2\" id=\"info\">(.+?)</td></tr></table>.+?<font class=\"text2\"><b>(.+?)&#160;<|is";
  
preg_match_all($pattern
                 
$text
                 
$out); 

  echo 
"<table cellspacing=0 cellpadding=0 border=0 width=350><tr><td valign=top nowrap>".$out[1][0]."</td></tr></table><br><hr><br>".$out[2][0];
?>

Вытаскавает только часть, ну это и понятно находит ближайшее совпадение &#160; и все. Пишу так

<?
$text
file_get_contents($adr);

 
//$pattern = "|<table cellspacing=0 cellpadding=0 border=0 width=350>(.+?)</td></tr></table>.+?<font class=\"text2\">(.+?)&#160;<table width=\"100%\" cellspacing=0 cellpadding=0 border=0><tr><td width=20>|is";
  
$pattern "|<table cellspacing=0 cellpadding=0 border=0 width=350>.+?<tr><td valign=top nowrap><font class=\"text2\" id=\"info\">(.+?)</td></tr></table>.+?<font class=\"text2\"><b>(.+?)&#160;<table width=\"100%\" cellspacing=0 cellpadding=0 border=0><|is";
  
preg_match_all($pattern
                 
$text
                 
$out); 

  echo 
"<table cellspacing=0 cellpadding=0 border=0 width=350><tr><td valign=top nowrap>".$out[1][0]."</td></tr></table><br><hr><br>".$out[2][0];
?>

и вообще ничего не происходит :( Где ошибка(и)?

   
 
 автор: cheops   (23.03.2007 в 12:14)   письмо автору
 
   для: TuX   (23.03.2007 в 00:00)
 

Именно от <font class="text2"><b>? Тгда регулярное выражение должно было бы выглядеть следующим образом
<?php
  $pattern 
"|<font class=\"text2\"><b>(.+?)&#160;<table|is"
?>

Приведите куски текста, которые вы хотите извлечь?

   
Rambler's Top100
вверх

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