X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

Открыть тему
Тема закрыта
> Вопрос по регулярке, preg_replace
sanika
sanika
Topic Starter сообщение 10.9.2014, 18:40; Ответить: sanika
Сообщение #1


Бывалый
****

Группа: User
Сообщений: 378
Регистрация: 5.1.2011
Поблагодарили: 96 раз
Репутация:   9  


Имеется набор обновляемых текстовых данных с указание даты типа 2 минут назад, 15 минут назад, 3 минут назад... и так до 60-ти. Обрапботать их в цикле - не проблема. Но стоит задача перевести эти даты в нормальный формат типа 10.09.2014 17:35 . Делать 60 str_replace это бред. а вот с preg_replace у меня запара.

Смотрите, проверяю работу:
Код
$text="2 минут назад";

$text = preg_replace("/(.+?) минут назад/is", date("d.m.Y H:i",time()-($1*60)), $text);

echo $text;


Получаю ошибку, поскольку переменная не может состоять из цифр, а preg_replace использует только такие переменные :unsure:

Пробую второй вариант выражения переменной

Код
$text = preg_replace("/(.+?) минут назад/is", date("d.m.Y H:i",time()-(\1*60)), $text);


Не работает, а берет \1 как цифру 1


Сообщение отредактировал sanika - 10.9.2014, 18:55
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
x64
x64
сообщение 10.9.2014, 19:07; Ответить: x64
Сообщение #2


F.A.L.L.O.U.T.
*******

Группа: Super Moderator
Сообщений: 3424
Регистрация: 30.6.2011
Из: Железнодорожный (Балашиха)
Поблагодарили: 2745 раз
Репутация:   289  


что есть time()-(\1*60) ? заведомо некорректное выражение.
вторым параметром нужна строка или переменная.
посмотрите в сторону модификатора e или функции preg_replace_callback().

например, так:
Код
$text = preg_replace("/(.+?) минут назад/ise", 'date("d.m.Y H:i", time() - (\1 * 60))', $text);


Сообщение отредактировал x64 - 10.9.2014, 19:08


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


Поблагодарили: (2)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
sanika
sanika
Topic Starter сообщение 10.9.2014, 20:19; Ответить: sanika
Сообщение #3


Бывалый
****

Группа: User
Сообщений: 378
Регистрация: 5.1.2011
Поблагодарили: 96 раз
Репутация:   9  


Работает. Спасибо большущее
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
andreykashops
andreykashops
сообщение 10.9.2014, 21:09; Ответить: andreykashops
Сообщение #4


WordPress is my Life..
******

Группа: Active User
Сообщений: 1426
Регистрация: 21.7.2012
Из: Украины
Поблагодарили: 633 раза
Репутация:   139  


Код
(.+?)

Может лучше использовать
Код
(\d+?)

?


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Вопрос к знатокам Instagram
20 SEOMR 4160 30.11.2017, 14:25
автор: DiscordPro
Открытая тема (нет новых ответов) Вопрос про Телеграмм
18 syd2010 1129 28.11.2017, 14:25
автор: PostBrigada
Открытая тема (нет новых ответов) Вопрос по seo для интернет магазина
куда девать продвинутые товары, которые уже не выпускают
13 viktormerke 2352 25.11.2017, 20:06
автор: Mikki
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыАrticle manager вопрос
0 Smile3D 440 24.11.2017, 18:27
автор: Smile3D
Открытая тема (нет новых ответов) Вопрос по трансферу доменов
8 MakDonald 1194 13.11.2017, 11:40
автор: bum


 



RSS Текстовая версия Сейчас: 13.12.2017, 19:40
Дизайн