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



 

Здравствуйте, гость (

| Вход | Регистрация )

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


Имеется набор обновляемых текстовых данных с указание даты типа 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


что есть 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


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


Код
(.+?)

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

?

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


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


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Вопрос - платное размещение баннеров на сайте
10 WGN 3190 14.12.2020, 14:20
автор: Peterson
Открытая тема (нет новых ответов) Вопрос по рекламе в "инстаграме"
Только активные аккаунты могут создавать или редактировать рекламу
8 Zubkov 16055 17.1.2020, 17:49
автор: Forumacc
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыВопрос-ответ о работе форума
307 dos1k 43333 9.11.2019, 17:59
автор: heks
Открытая тема (нет новых ответов) Жена логопед, собрался ей приводить клиентов. Встал вопрос, куда приводить.
В теме перечисление доступного мне продвижения, но с чего начать?
9 memeplex 3728 16.2.2019, 15:45
автор: zyzy
Открытая тема (нет новых ответов) Предлагаю размещение качественных ссылок на форумах и сервисах вопрос ответ
21 ПроФФи 5028 2.3.2018, 20:56
автор: ShowPrint


 



RSS Текстовая версия Сейчас: 24.4.2024, 4:03
Дизайн