Поиск и замена некоторого значения несколькими случайными значениями - PullRequest
0 голосов
/ 20 января 2019

У меня есть файл со следующим содержимым.

Какой-то текст бла-бла # дата # другой текст # дата # какой-то другой # дата #

Мне нужно заменить # date # на некоторую случайную дату, которую я генерирую, используя следующий код с новым случайным значением для каждого #date #.

date('Y-m-d', strtotime( '+'.mt_rand(0,45).' days'))

На данный момент все даты заменены одинаковыми значениями. Tks.

1 Ответ

0 голосов
/ 20 января 2019

Вы можете использовать preg_replace_callback, чтобы генерировать новую случайную дату каждый раз, когда она заменяет:

$string = 'Some text bla-bla #date# other text #date# some other #date#';
echo preg_replace_callback('/#date#/', function () { return date('Y-m-d', strtotime( '+'.mt_rand(0,45).' days')); }, $string);

Выход:

Some text bla-bla 2019-01-22 other text 2019-02-16 some other 2019-02-19

Демонстрация на 3v4l.org

...