Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Преобразование всех UNIX меток в ЧЧ:ММ

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Без описания
nuhim
Отправлено: 19 Июня, 2014 - 14:17:01
Post Id


Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Июнь 2014  


Помог: 0 раз(а)




Есть строка вида
...
1402880400000'EnergyZone', day: 0},
1402882200000'HitZone', day: 1},
1402891200000'TopZone', day: 1},
1402893000000'Hit Zone', day: 2},
...

Хочу получить
...
01:00'EnergyZone', day: 0},
01:30'HitZone', day: 1},
04:00'TopZone', day: 1},
04:30'Hit Zone', day: 2},
...

Пробовал сделать так
$str = preg_replace('#\d{13}#', date("H:i", intval('$0')), $str);

но получаю одни нули.
Помогите начинающему плиз!
 
 Top
LIME
Отправлено: 19 Июня, 2014 - 15:09:50
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




PHP:
скопировать код в буфер обмена
  1. $str = preg_replace_callback('#^\d{13}#m', function($matches){
  2.     return date('H:m', $matches[0]);
  3. }, $str);

(Добавление)
intval('$0') = 0;
'$0' интерпретируется только внутри интерпретатора регулярок(в строке которая идет 2ым параметром)
то есть ни для intval ни для date '$0' ничего не значит
а в итоге в интерпретатор регулярок попадает строка '00:00' что он и подставляет послушно
 
 Top
nuhim
Отправлено: 19 Июня, 2014 - 15:47:12
Post Id


Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Июнь 2014  


Помог: 0 раз(а)




LIME пишет:
PHP:
скопировать код в буфер обмена
  1. $str = preg_replace_callback('#^\d{13}#m', function($matches){
  2.     return date('H:m', $matches[0]);
  3. }, $str);

(Добавление)
intval('$0') = 0;
'$0' интерпретируется только внутри интерпретатора регулярок(в строке которая идет 2ым параметром)
то есть ни для intval ни для date '$0' ничего не значит
а в итоге в интерпретатор регулярок попадает строка '00:00' что он и подставляет послушно


Спасибо большое! Второй раз вы меня выручаете. Наберусь наглости и спрошу третий раз:
а можно как-то отфильтровать строку по значению day: 0..6 (дни недели) ?
 
 Top
LIME
Отправлено: 19 Июня, 2014 - 15:49:09
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




http://www.php.net//manual/ru/function.date.php
Цитата:
w Порядковый номер дня недели от 0 (воскресенье) до 6 (суббота)
 
 Top
nuhim
Отправлено: 19 Июня, 2014 - 15:58:32
Post Id


Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Июнь 2014  


Помог: 0 раз(а)




LIME пишет:
http://www.php.net//manual/ru/function.date.php
Цитата:
w Порядковый номер дня недели от 0 (воскресенье) до 6 (суббота)


Текущий день недели получаю так:
$today = getdate();
$wday = $today['wday'];

А как в строке оставить только субстроки с выбранным днем ума не преложу Проблемы
 
 Top
LIME
Отправлено: 19 Июня, 2014 - 16:06:15
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




explode
foreach
if
substr
getdate
 
 Top
nuhim
Отправлено: 19 Июня, 2014 - 16:16:09
Post Id


Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Июнь 2014  


Помог: 0 раз(а)




LIME пишет:


Спасибо, все понял.
(Добавление)
nuhim пишет:
LIME пишет:
PHP:
скопировать код в буфер обмена
  1. $str = preg_replace_callback('#^\d{13}#m', function($matches){
  2.     return date('H:m', $matches[0]);
  3. }, $str);

(Добавление)
intval('$0') = 0;
'$0' интерпретируется только внутри интерпретатора регулярок(в строке которая идет 2ым параметром)
то есть ни для intval ни для date '$0' ничего не значит
а в итоге в интерпретатор регулярок попадает строка '00:00' что он и подставляет послушно


Спасибо большое! Второй раз вы меня выручаете. Наберусь наглости и спрошу третий раз:
а можно как-то отфильтровать строку по значению day: 0..6 (дни недели) ?


К сожалению ваш код возвращает
...
03:01'HitZone', day: 0},
03:01'TopZone', day: 0},
03:01'Hit Zone', day: 0},
03:01'\"ТОР 10\"Хит-парад', day: 0},
...

Страница, которую пытаюсь парсить http://tv[dot]zakon[dot]kz/tv-channel/195

PHP:
скопировать код в буфер обмена
  1. $doc2 = HD::http_get_document('http://tv.zakon.kz/tv-channel/195');
  2. $doc2 = explode('var events = {'195: [', $doc2);
  3. $doc2 = explode(']};', $doc2[1]);
  4. $doc2 = iconv('WINDOWS-1251', 'UTF-8', $doc2[0]);
  5. $doc2 = str_replace('{date_start: ',"",$doc2);
  6. $doc2 = preg_replace('#date_end: \d{13},#', "", $doc2);
  7. $doc2 = str_replace(',  title: ', "", $doc2);
  8. $doc2 = preg_replace_callback('#^\d{13}#m', function($matches){
  9.         return date('H:m', $matches[0]);
  10.         }, $doc2);
  11. hd_print($doc2);

(Отредактировано автором: 19 Июня, 2014 - 17:20:58)

 
 Top
LIME
Отправлено: 19 Июня, 2014 - 17:25:50
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




нууу...значит нерешаемо Однако
 
 Top
nuhim
Отправлено: 19 Июня, 2014 - 18:10:05
Post Id


Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Июнь 2014  


Помог: 0 раз(а)




LIME пишет:
нууу...значит нерешаемо Однако


Не верю! На Паскале (Дельфи) решаемо, а на PHP - нет ? Буду дальше копать...
 
 Top
Мелкий Супермодератор
Отправлено: 19 Июня, 2014 - 19:56:02
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Почему вы вообще самый тупой и обыкновенный JSON пытаетесь читать всякими костылями?


-----
PostgreSQL DBA
 
 Top
nuhim
Отправлено: 19 Июня, 2014 - 21:21:41
Post Id


Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Июнь 2014  


Помог: 0 раз(а)




Мелкий пишет:
Почему вы вообще самый тупой и обыкновенный JSON пытаетесь читать всякими костылями?


Потому, что я делаю только первые шаги в PHP. C 1993 работал с базами данных (1С, Дельфи, Транзакт). После 6-ти летнего перерыва (2 инфаркта и операция на сердце) пригласили работать в фирму, торгующую IPTV-приставками Dune HD, для которых плагины пишутся только на PHP. Вот и приходится осваивать новый язык.
Потому, что я не знаю что такое JSON.
Если знаете более простое решение - я весь во внимании.
 
 Top
LIME
Отправлено: 19 Июня, 2014 - 21:23:18
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




ой...если это обрезаный JSON то как сработала моя регулярка?
хотя понятно
....
 
 Top
Мелкий Супермодератор
Отправлено: 19 Июня, 2014 - 21:59:56
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Прочитайте всю структуру до конца (с этим могут быть проблемы, можно привязаться к ;, если заведомо известно, что не встречается в данных или к следующему за json'ом тексту) и сделайте json_decode. Получите нормальный объект/массив.
Пересказывать вики о том, что такое есть json, смысла не вижу.


-----
PostgreSQL DBA
 
 Top
LIME
Отправлено: 19 Июня, 2014 - 22:56:43
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




стоп
какой это нафиг JSON
где двойные кавычки?
где вообще кавычки?
(Добавление)
js объект возможно
(Добавление)
nuhim может сдохнуть проще?
чем 10 мин потратить на чтение JSON

(Отредактировано автором: 19 Июня, 2014 - 22:59:06)

 
 Top
nuhim
Отправлено: 20 Июня, 2014 - 09:01:18
Post Id


Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Июнь 2014  


Помог: 0 раз(а)




LIME пишет:
стоп
какой это нафиг JSON
где двойные кавычки?
где вообще кавычки?
(Добавление)
js объект возможно
(Добавление)
nuhim может сдохнуть проще?
чем 10 мин потратить на чтение JSON


Разобрался - надо текстовое представление метки времени переводить во FLOAT.
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Регулярные выражения »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB