Я знаю, что это старая тема, но я наткнулся на нее, пытаясь добиться чего-то подобного. Если кто-то еще видит это, я думаю, что это немного лучше:
Создайте образец текста:
$text="This is an example of %%token%% that might contain multiple instances of a particular
%%token%%, that need to each be replaced with a different piece of %%token%% generated
elsewhere.";
Найдите строку поиска с помощью регулярного выражения:
$new_text = preg_replace_callback("|%%token%%|", "_rand_preg_call", $text);
Определение функции обратного вызова для изменения совпадений
function _rand_preg_call($matches){
return rand(100,10000);
}
Вывод результатов:
echo $new_text;
Так как функция установлена:
function _preg_replace_rand($text,$pattern){
return preg_replace_callback("|$pattern|", "_rand_preg_call", $text);
}
function _rand_preg_call($matches){
return rand(100,10000);
}