Похоже регулярные выражения

pavlik

Новичок
Похоже регулярные выражения

Задача у меня такая :
Есть файл и в нем много раз встречается такое:
PHP:
<P class="exdate">первая дата<BR>вторая дата</P></TD><TD class="color1" ><P class="exname"><A HREF="какая-то ссылка">Заголовок</A></P>  <P class="exdesc">Описание</P>
Надо вытащить первую и вторую дату, ссылку , заголовок, описание.
Подскажите, как это сделать?

Как я понял надо получить файл в массив, а потом каждый элемент массива проверять с помощью регулярных выражений, но что-то не выходит.
А может и не так, подскажите.
 

pavlik

Новичок
Рег. выражение такое у меня:

PHP:
'/<P class="\exdate"\>[0-9.]*<BR>[0-9.]*</\P></\TD><TD class="\color1"\ >
<P class="\exname"\><A HREF="\(.*)"\>(.*)</\A></\P> 
<P class="\exdesc"\>(.*)</\P>/'
так я еще не понял, какой функцией мне получить то что надо в массив,
или мне надо еще первую и вторую дату, ссылку , заголовок и описание с помощью рег. выражений описать?

Может есть какой-нить способ извлечь так:
PHP:
<P class="exdate">$date1<BR>$date2</P></TD><TD class="color1" >
<P class="exname"><A HREF="$link">$title</A></P>  
<P class="exdesc">$text</P>'
То есть в шаблоне указать переменные которым будет назначено то, что на их месте в файле.
как то так.
 

sage

Новичок
[m]file_get_contents[/m]
[m]preg_match_all[/m]
+ правильно написанное рег. выражение. ты регулярное набирал вручную или копировал?
 

pavlik

Новичок
PHP:
$pattern='/<P class="\exdate"\>[0-9.]*<BR>[0-9.]*</\P></\TD><TD class="\color1"\ ><P class="\exname"\><A HREF="\(.*)"\>(.*)</\A></\P><P class="\exdesc"\>(.*)</\P>/'
file_get_contents( $file, $content );
preg_match_all( $pattern, $content, $select,  PREG_PATTERN_ORDER );
$select [1] [k] - нужные мне кусочки? так да?

регулярное выражение писал сам, по тем статьям что есть на phpclub.ru, но может я что не так понял?
 

pavlik

Новичок
То есть про какие-то там спецсимволы там забыть?
гут
PHP:
'/<P class="exdate">[0-9.]*<BR>[0-9.]*</P></TD><TD class="color1" >
<P class="exname"><A HREF="(.*)">(.*)</A></P>
<P class="exdesc">(.*)</P>/'
получается что так
 

pavlik

Новичок
Ой, спасибо всем , пойду покурю матчасть, а то ниче не понимаю.
 
Сверху