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

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

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

 

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

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

тема: Извлечение текста из HTML-кода
 
 автор: eclipse   (04.03.2006 в 14:00)   письмо автору
 
 

Приветствую... можжет вопросик и элементарный но почему то не могу составить правильна регулярное выражени в которое из страничек вырывало бы тако вот код

<table cellpadding=4 cellspacing=0 border=0 width="100%">
----------------
</TD></TR></TABLE>

причём таких <table cellpadding=4 cellspacing=0 border=0 width="100%"> всегда два в тексте и мне нужен код именно со второго... То что здесь применяется preg_match_all итак понятна... вопрос тока в регулярном выражении...

   
 
 автор: cheops   (04.03.2006 в 19:51)   письмо автору
 
   для: eclipse   (04.03.2006 в 14:00)
 

Под "вырывало", что имеется ввиду? Удало или извлекало то, что вместо ----------------?

PS Вопросы, посвящённые регулярным выражениям лучше сразу помещать в форуме Регулярные выражения

   
 
 автор: eclipse   (04.03.2006 в 20:59)   письмо автору
 
   для: cheops   (04.03.2006 в 19:51)
 

а извините меня плз плз плз за пост.... и не заметил как вы его сюда поместили... вобщем я вот как написал =)

 $pat2 = "/<table cellpadding=4 cellspacing=0 border=0 width=\"100%\">([\s\S]{1,})<\/td><\/tr>([\s]{1,})/";
 preg_match_all($pat2,$t2,$res2,PREG_PATTERN_ORDER);


но так как с регэкспами столкнулся недавно не знаю как описать то что <\/td><\/tr> нада найти тока один раз... то есть ниже в коде могут быть несколько <\/td><\/tr>.... а мне нада тока до первого =) вооот =)

   
 
 автор: cheops   (05.03.2006 в 13:33)   письмо автору
 
   для: eclipse   (04.03.2006 в 20:59)
 

Хм... т.е. вам по сути нужно только одно первое вхождение? Тогда можно воспользоваться функцией preg_match() вместо preg_match_all().

   
 
 автор: eclipse   (06.03.2006 в 12:45)   письмо автору
 
   для: cheops   (05.03.2006 в 13:33)
 

=) пасиба =) а как правильна её описать??? =) то есть что то вроде этого???

preg_match_all($pat2,$t2,$res2);
$z2 = res2[0][0];

   
 
 автор: cheops   (06.03.2006 в 14:09)   письмо автору
 
   для: eclipse   (06.03.2006 в 12:45)
 

Если preg_match() пользоваться, то так
preg_match($pat2,$t2,$res2); 
$z2 = res2[0];

если preg_match_all(), то так, как вы написали.

   
Rambler's Top100
вверх

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