Реклама на сайте Advertise with us

Php-прогеры, поможите плиз с кодом

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:

1К13!

С нами с 07.05.04
Сообщения: 7721
Рейтинг: 2428

Ссылка на сообщениеДобавлено: 14/11/06 в 16:04       Ответить с цитатойцитата 

Есть вот такой контент:

<14 Nov 2006 | 12:38am GMT>
новость за сегодня
</14 Nov 2006 | 12:38am GMT>

<13 Nov 2006 | 11:55pm GMT>
новость за вчера
</13 Nov 2006 | 11:55pm GMT>
</div>

И нужно мне, чтобы все вчерашние новости вырезались нафик.

-----------------------------

Вот кусок кода, которым я пытаюсь это сделать:

//В $Page сую все новости

$datematch = gmdate("d M Y", time() - 86400);
// $datematch присваиваю вчерашнюю дату

echo preg_replace("/<$datematch.+(\/div>?)/U", "", $Page);

---------------------------

получаю на выходе:

<14 Nov="" 2006="">
новость за сегодня
</14 Nov="" 2006="">

<13 Nov="" 2006="">
новость за вчера
</13 Nov="" 2006="">
</div>

Причём по крайней мере на локалке вот такой скрипт отрабатывает на ура:

<?php
$datematch = gmdate("d M Y", time() - 86400);
echo preg_replace("/<$datematch.+(\/$datematch.+GMT>?)/U", "",
"<14 Nov 2006 | 8:01am GMT>новость за сегодня</14 Nov 2006 | 8:01am GMT>
<13 Nov 2006 | 8:01am GMT>новость за вчера</13 Nov 2006 | 8:01am GMT>");
?>

Дарагие знатоки, в чём я запарил?

Talitha kumi!

0
 



С нами с 07.01.04
Сообщения: 2868
Рейтинг: 1536

Ссылка на сообщениеДобавлено: 14/11/06 в 16:26       Ответить с цитатойцитата 

У тебя точка переход на новую строку не берет.
Подставь модификатор s в регулярку.

.

0
 

1К13!

С нами с 07.05.04
Сообщения: 7721
Рейтинг: 2428

Ссылка на сообщениеДобавлено: 14/11/06 в 17:14       Ответить с цитатойцитата 

echo preg_replace("/<$datematch.+(\/div>?)/sU", "", $Page);
не помогает 8(

Talitha kumi!

0
 

БешаныйСуслег

С нами с 16.06.04
Сообщения: 1322
Рейтинг: 1338

Ссылка на сообщениеДобавлено: 14/11/06 в 19:03       Ответить с цитатойцитата 

benzole писал:

Дарагие знатоки, в чём я запарил?

Код:

<?php
$datematch = gmdate("d M", time() );
$str = "<14 Nov 2006 | 8:01am GMT>новость за сегодня</14 Nov 2006 | 8:01am GMT><13 Nov 2006 | 8:01am GMT>новость за вчера</13 Nov 2006 | 8:01am GMT>";
preg_match('/<'.$datematch.'[^>]+>.*?<\/'.$datematch.'[^>]+>/',
          $str, $matches ) ;
print( $matches[0] );
?>

8
 

1К13!

С нами с 07.05.04
Сообщения: 7721
Рейтинг: 2428

Ссылка на сообщениеДобавлено: 14/11/06 в 22:44       Ответить с цитатойцитата 

Yeeeah! 8)
ghood, большущщщее спасибо )

Вот так вот сделал, чтобы все сегодняшние новости парсило:

preg_match('/<'.$datematch.'[^>]+>.*?<\/'.$datematch.'[^>]+>/smU',

Talitha kumi!

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »