Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите написать регулярное выражение для преобразования времени
 
 автор: maestro24   (10.03.2012 в 01:12)   письмо автору
 
 

Здравствуйте, проблема следующая: есть большой текст, в нем кроме слов встречаются еще и текст в виде времени вида: чч:мм:сс. (корректность времени не важна, т.е. главное что чч сс мм - это цифры) суть в другом, человек вводит с клавиатуры число, и все часы (чч) должны уменьшиться на это число (которое чел ввел с клавиатуры).

Не могу понять как это сделать..

вот что написал:

$val = $_POST['value']; //чел ввел число
$pattern = "/(\d{2}):\d{2}):\d{2}):/"; //обычное регулярное выражение
$text = preg_replace($pattern,"$1"-$val, $text);  // пробую решить задачу

  Ответить  
 
 автор: cheops   (10.03.2012 в 22:04)   письмо автору
 
   для: maestro24   (10.03.2012 в 01:12)
 

Можно начать отталкиваться от следующего скрипта
<?php
  $val = 5;
  $pattern = "/(\d{2})(:\d{2}:\d{2})/";
  $text = "dsfd 12:10:05 d fd";
  echo preg_replace_callback($pattern, "rep", $text);
  function rep($match)
  {
    global $val;
    return ($match[1] - $val).$match[2];
  }
?>

  Ответить