Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Никак не пойму как поймать динамический текст 
V
    Опции темы
KgCoder
Дата 17.12.2008, 20:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 6.3.2008
Где: KGstan

Репутация: нет
Всего: нет



Проблемка такая, прошу помочь кто умеет.
В общем есть я никак не могу получить данные из csv файла, потому что там записи разные:

16.1.2007 04:03:21 PM
Unknown 09:15:44 AM
Unknown 00:00:00 !!

И даже не знаю как среди всего прочего текста найти их, разделить дату и время (в нормальном формате, без PmAm), а Unknown прировнять к текущей дате.
Помогите пожайлуста. Я прочитал ссылки, посмотрел форумы, но не смог понять синтаксиса regx.

PM MAIL   Вверх
bars80080
Дата 17.12.2008, 20:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 2
Всего: 315



а в чём проблема разобрать?

Код

$fp = fopen('file.csv', 'r');
if($fp) { while(!feof($fp)) {
        $str = fgets($fp, 4096);
        $a = explode(' ', $str);
        if($a[0] == 'Unknown') { $a[0] = date('j.n.Y'); }
        $b = explode(':', $a[0]);
        $c = explode(':', $a[1]);
        $t = mktime($c[0], $c[1], $c[2], $b[1], $b[0], $b[2]);
        if($a[2] == 'PM') { $t += 43200; }
        
        // а здесь уже делаем со временем $t всё что нужно
}}

PM MAIL WWW   Вверх
KgCoder
Дата 17.12.2008, 21:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 6.3.2008
Где: KGstan

Репутация: нет
Всего: нет



bars80080, Спасибо, но хотелось бы через регулярку узнать. Так как там еще куча текста. И в результате получить что-то типа:

Код

$date = 'Дата: '. $date; // ДД.MM.ГГГГ
$hour = 'Время: '. $hour; // ЧЧ.ММ.СС


Если вам не сложно, помогите. smile

Это сообщение отредактировал(а) KgCoder - 17.12.2008, 21:04
PM MAIL   Вверх
bars80080
Дата 17.12.2008, 21:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 2
Всего: 315



ну, знаешь, когда есть решение, а другого ты понять не можешь, то лучше пользоваться тем, что ты можешь в случае чего подправить

регулярку не скажу, но из полученной $t (которой кстати наличие дальше идущего текста совершенно не мешает) можно получить любой формат даты. в твоём случае ДД.MM.ГГГГ date('d.m.Y', $t); а ЧЧ.ММ.СС date('G.i.s', $t);
PM MAIL WWW   Вверх
KgCoder
Дата 17.12.2008, 22:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 6.3.2008
Где: KGstan

Репутация: нет
Всего: нет



Спасибо, регулярку составил таки методом тыка. smile Но всё же спасибо за внимание.
PM MAIL   Вверх
skyboy
Дата 18.12.2008, 02:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 8
Всего: 260



для парсинга CSV есть вполне легальная функция fgetcsv. впрочем, велосипеды веселее.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Тексты | Следующая тема »


 




[ Время генерации скрипта: 0.0505 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.