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
Сообщений: 3544
Регистрация: 30.6.2011
Из: Железнодорожный (Балашиха)
Поблагодарили: 2881 раз
Репутация:   294  


что есть 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
Сообщений: 1434
Регистрация: 21.7.2012
Из: Украины
Поблагодарили: 641 раз
Репутация:   139  


Код
(.+?)

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

?

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.


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


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Вопрос по поводу цен на сайте
16 WildWeb8 940 13.5.2018, 17:40
автор: genjnat
Открытая тема (нет новых ответов) Вопрос к тем, кто зарабатывает на недвижимости?
Как заработать на недвижке.?
15 Dross 2751 26.4.2018, 18:26
автор: megachange
Открытая тема (нет новых ответов) Вопрос по сетке сайтов
Стоит ли так делать?
10 asskra 1424 12.4.2018, 22:33
автор: Ancitrus
Открытая тема (нет новых ответов) Вопрос по расингу контента
5 gold15 669 2.4.2018, 19:18
автор: mmkulikov
Открытая тема (нет новых ответов) Вопрос по метрике
3 Bel_Ami 726 6.3.2018, 16:48
автор: richif


 



RSS Текстовая версия Сейчас: 23.5.2018, 17:36
Дизайн