За последние 24 часа нас посетили 20122 программиста и 1707 роботов. Сейчас ищут 1497 программистов ...

Замена времени в тексте

Тема в разделе "Регулярные выражения", создана пользователем rainarr, 3 фев 2011.

  1. rainarr

    rainarr Активный пользователь

    С нами с:
    20 ноя 2010
    Сообщения:
    276
    Симпатии:
    0
    Привет, делаю нечто типа комментариев, только комментарии должны каждому пользователю сохранятся в одной ячейке + время добавления комментария тамже, поэтому прошу помощи

    пример:
    PHP:
    1. <?
    2. $text='|1296725792|текст текс текст текст |1296725892|тут позже добавленый текст |1296726892|и тут ещё позже добавленый текст';
    3. ?>
    примем что "|" пользователь запостить не может..
    не могу придумать как правильно найти эти числа чтобы потом заменить их на нормальную дату.
     
  2. Gromo

    Gromo Активный пользователь

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    неправильный подход, отсюда и неправильные вопросы и неправильные решения
     
  3. rainarr

    rainarr Активный пользователь

    С нами с:
    20 ноя 2010
    Сообщения:
    276
    Симпатии:
    0
    А какие варианты? Вот пример как это хотелось бы видеть:
    http://otvety.google.ru/otvety/thread?t ... e073803261
    все добавленые сообщения хранятся как бы в 1 записи..или нет?
     
  4. Gromo

    Gromo Активный пользователь

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    rainarr
    комментарии или исправления в тексте/дополнения ? это разные вещи
     
  5. rainarr

    rainarr Активный пользователь

    С нами с:
    20 ноя 2010
    Сообщения:
    276
    Симпатии:
    0
    Это по сути дополнения к одной и той же теме, просто так чтоб хранились вместе. а не по очереди (по дате) вместе с другими собщениями от других юзеров)
     
  6. Gromo

    Gromo Активный пользователь

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    воспользуйся explode-ом или храни в виде

    и делай замену регуляркой
     
  7. rainarr

    rainarr Активный пользователь

    С нами с:
    20 ноя 2010
    Сообщения:
    276
    Симпатии:
    0
    Так и храню, т.е. собираюсь, а именно как правильно написать регулярку щас не могу понять, для этого и спрашиваю :)
     
  8. Dima4321

    Dima4321 Активный пользователь

    С нами с:
    1 апр 2009
    Сообщения:
    683
    Симпатии:
    0
    что надо найти в тексте цифры ???

    тогда примерно так

    preg_match_all('#\d+#si',$content,$match)

    print_r($match);


    http://valex.net.ru/regexp.html
     
  9. Gromo

    Gromo Активный пользователь

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    preg_match_all('#\[\d+\]#si', $content, $match);

    print_r($match);
     
  10. rainarr

    rainarr Активный пользователь

    С нами с:
    20 ноя 2010
    Сообщения:
    276
    Симпатии:
    0
    Спасибо за ответы, я уже пытался по другому решать вот так, только может есть вариант как сократить и объеденить с date() регулярное выражение или это всетаки бред?

    PHP:
    1. <?
    2. $content='|1296725792|текст текс текст текст |1296725892|тут позже добавленый текст |1296726892|и тут ещё позже добавленый текст';
    3. echo preg_replace('#\|\d+\|#si',  date('d-m H:i', '....'), $content);
    4. ?>
     
  11. rainarr

    rainarr Активный пользователь

    С нами с:
    20 ноя 2010
    Сообщения:
    276
    Симпатии:
    0
    Ну может кто помочь с регуляркой? мало доходилось сталкиватся прежде, но я обещаю научится!!))
     
  12. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    rainarr
    Нашел цифры, взял в скобки, воспользоваться preg_replace_callback либо модификатором e для передачи захваченного, затем подставил в date
     
  13. rainarr

    rainarr Активный пользователь

    С нами с:
    20 ноя 2010
    Сообщения:
    276
    Симпатии:
    0
    Apple
    Неподумал бы что для такого существовала специальная функция :) спс, то что надо.