Правильно ли я составил регулярное выражение, чтобы вытащить текст из файла?

lantastic

Новичок
Правильно ли я составил регулярное выражение, чтобы вытащить текст из файла?

Привет!

Мне нужно вытащить текст, находящийся между тегами <tr>, из HTML файла. Я написал такой код:

PHP:
$html = implode("",file('http://www.site.com/index.htm'));

$matches = array();
preg_match_all("/<tr>(.*)<\/tr>/U", $html, $matches);
for ($i=0; $i<count($matches[0]); $i++)
{
  echo "matched: ".$matches[0][$i]."\n";
  echo "part 1: ".$matches[1][$i]."\n\n";
}
Но этот код не выводит ни одного совпадения. Если заменить tr на td, выводит два совпадения, хотя их намного больше :( Помогите разобраться, может быть я не вижу очевидной ошибки?

Заранее благодарен.
 

netdog

net @
дебагги, [m]print_r[/m]($matches) тебе в помощь. Никто не будет разбираться чего у тебя там выводит и чего не выводит.
 

Profic

just Profic (PHP5 BetaTeam)
В этом реге явно не хватает модификаторов s и i
 

lantastic

Новичок
Автор оригинала: iliah
подумай насчет случая с вложенными тегами
По ссылкам этим я пробежался уже, дело в том, что я только начал осваивать регулярные выражения... А какие сложности там с вложенными тегами могут быть? :)

Автор оригинала: Profic
В этом реге явно не хватает модификаторов s и i
ок, сейчас буду смотреть :)

-~{}~ 16.11.04 02:39:

Автор оригинала: Profic
В этом реге явно не хватает модификаторов s и i
большое спасибо тебе! на самом деле не хватало модификатора s! я просто счастлив! весь день парился!
 
Сверху