Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Как поменять все вхождения времени в переменной
lungdesire  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 19
Пользователь №: 42300
На форуме: 11 месяцев, 10 дней
Карма:




Друзья, всех приветствую! Недавно обсуждал с Вами вопрос как поменять время в переменной. В итоге сошлись на:

$time[0] = "26.02.2016 17:07:17";
$time = strtotime("$time[0] + 2 minute 17 seconds");
$data_time = date('d.m.Y H:i:s',$time);
echo $data_time;

Вопрос следующий: В переменной $inf содержится ответ от web страницы. В этом ответе может быть любое количество вхождений с разной датой и временем в формате: 26.02.2016 17:07:17

1) Как мне увеличить время каждого подобного вхождения на те же 2 минуты 17 секунд?
2) Обязательно ли в таком случае использовать для выборки регулярные выражения?

Благодарю Всех за внимание =)

Это сообщение отредактировал lungdesire - 11.03.2016 - 11:19
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
drouZ  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Старик
***

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 117
Пользователь №: 23509
На форуме: 6 лет, 3 месяца, 17 дней
Карма: 2




вылавливать и менять. регулярки, прегмачи и вперед.
единственное, смотря в каком порядке у тебя они встречаются. если там только список времени через табуляцию прописан, то можно и без регулярок в принципе.
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Kusss  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1355
Пользователь №: 28976
На форуме: 5 лет, 4 месяца, 5 дней
Карма: 77




Если я правильно понял вопрос
$time = array(
"26.02.2016 17:07:17",
"26.02.2016 17:10:17",
"26.02.2016 17:13:17",
);

if (is_array($time)) {
foreach ($time AS &$value) {
$value = date('d.m.Y H:i:s', strtotime("$value + 2 minute 17 seconds") );
}
print_r($time);
}
ответ
Array
(
[0] => 26.02.2016 17:09:34
[1] => 26.02.2016 17:12:34
[2] => 26.02.2016 17:15:34
)

Или у тебя текст в которой встречается дата ?

Это сообщение отредактировал Kusss - 11.03.2016 - 11:58
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
kaww  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1755
Пользователь №: 20757
На форуме: 6 лет, 10 месяцев, 1 день
Карма: 184




lungdesire, Если коротко, то preg_match + str_replace. Т.е. сначала регуляркой вылавливаешь все даты, получаешь массив (array1), во второй массив заносишь значения из первого + 2 minute 17 seconds (array2), затем str_replace(array1, array2, string);
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
lungdesire  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 19
Пользователь №: 42300
На форуме: 11 месяцев, 10 дней
Карма:




Между датой текст. Так что видимо придётся использовать preg'и)
Правда я пока слабо представляю как через реги в тексте находить время и уже менять)

Это сообщение отредактировал lungdesire - 11.03.2016 - 12:19
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
depp  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 290
Пользователь №: 40589
На форуме: 1 год, 11 месяцев, 29 дней
Карма: 19




пример текста скинь
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Kusss  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1355
Пользователь №: 28976
На форуме: 5 лет, 4 месяца, 5 дней
Карма: 77




$text = 'sdfsdfsdfsd 26.02.2016 17:07:17rererer 26.02.2016 17:10:17 frerfe';
preg_match_all('/(0[1-9]|[12][0-9]|3[01])[- \.](0[1-9]|1[012])[- \.](19|20)\d\d ([0-1]\d|2[0-3])(:[0-5]\d){2}/',$text, $matches);
if (count($matches[0]) > 0) {
print_r($matches[0]);
$replace = array();
foreach ($matches[0] AS $key=>$value) {
$replace[$key] = date('d.m.Y H:i:s', strtotime("$value + 2 minute 17 seconds") );
}
$text = str_replace($matches[0], $replace, $text);
echo $text;
}
Array
(
[0] => 26.02.2016 17:07:17
[1] => 26.02.2016 17:10:17
)
sdfsdfsdfsd 26.02.2016 17:09:34rererer 26.02.2016 17:12:34 frerfe


Это сообщение отредактировал Kusss - 11.03.2016 - 13:32
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

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

Опции темы Ответ в темуСоздание новой темыСоздание опроса