Перейти к содержимому

Сервис обмена электронных валют

Партнерская программа Kredov

  • Закрытая тема Тема закрыта

Парсинг строки: Как использовать вместо строки-шаблона функцию

#11 yury

yury
  • Пользователь
  • 629 сообщений
  • Репутация: 176
0

Отправлено 14 Июль 2010 - 14:21

Дилетант,
попробуйте так:

$text = preg_replace_callback('/\[date\](\S+?)\[\/date\]/is',
create_function('$matches','return "последнее изменение файла " . $matches[1] . " – " . date("d/m/Y", filemtime($matches[1]));'),
$text);


  • 0

#12 Дилетант

Дилетант
    Topic Starter
  • Пользователь
  • 53 сообщений
  • Репутация: 0

Отправлено 14 Июль 2010 - 19:17

yury, спасибо, работает. Но мне нужно только дату. Текст я сам вставлю.
Кроме того, вместо реальной даты выдает 01/01/1970
  • 0

#13 yury

yury
  • Пользователь
  • 629 сообщений
  • Репутация: 176

Отправлено 14 Июль 2010 - 19:33

Без сопровождающего текста так (я думал, что вы его и сами убрать сможете):

$text = preg_replace_callback('/\[date\](\S+?)\[\/date\]/is',
create_function('$matches','return date("d/m/Y", filemtime($matches[1]));'),
$text);

Что касается неправильной даты, то проверьте существует ли и в правильном ли месте лежит файл (т.е. верный ли указан путь к файлу), дату которого вы хотите вывести, например так:
$text = preg_replace_callback('/\[date\](\S+?)\[\/date\]/is',
create_function('$matches','return file_exists($matches[1]) ? date("d/m/Y", filemtime($matches[1])) : "файл не найден";'),
$text);

потому что если у PHP спросить дату модификации несуществующего файла, то PHP как раз и выдаст 1 января 1970 года


  • 0

#14 Дилетант

Дилетант
    Topic Starter
  • Пользователь
  • 53 сообщений
  • Репутация: 0

Отправлено 14 Июль 2010 - 19:43

yury, спасибо. Выдает, что файл не найден. Но я задаю его как для броузера

http://mysite.ru/dir/images/img.gif

А в каком формате мне задавать?

yury, спасибо разобрался. Всё работает - см.
  • 0

#15 yury

yury
  • Пользователь
  • 629 сообщений
  • Репутация: 176

Отправлено 14 Июль 2010 - 19:46

yury, спасибо разобрался. Всё работает.

Дилетант,
не за что. ;)
Что разобрался - молодец. Успехов.
  • 0

#16 Дилетант

Дилетант
    Topic Starter
  • Пользователь
  • 53 сообщений
  • Репутация: 0

Отправлено 14 Июль 2010 - 20:01

Всем спасибо за квалифицированные консультации. Честно, не ожидал.

Осталось еще одно сообщение и смогу сам темы открывать!!! :angry:
  • 0

#17 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 14 Июль 2010 - 23:30

Дилетант, тему можно прикрывать? Вопрос вроде как решен.
  • 0

#18 Дилетант

Дилетант
    Topic Starter
  • Пользователь
  • 53 сообщений
  • Репутация: 0

Отправлено 15 Июль 2010 - 09:41

ZiTosS, да тему можно закрыть. Спасибо всем.
  • 0

robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85


Оформление форума – IPBSkins.ru