Замена одного значения в строке массивом значений

Есть строка:

$expected = "Отправьте документы по ссылке https://lll.ru/:uniqueString. Всего хорошего https://lll.ru/:uniqueString.";

Есть массив со значениями: $arr = ['aaa', 'bbb'];

Нужно заменить все ":uniqueString" на значения из массива по порядку.

Результат:

$expected = "Отправьте документы по ссылке https://lll.ru/aaa. Всего хорошего https://lll.ru/bbb.";


Ответы (1 шт):

Автор решения: Кирилл Малышев
$expected = "Отправьте документы по ссылке https://lll.ru/:uniqueString. Всего хорошего https://lll.ru/:uniqueString.";
$arr = ['aaa', 'bbb'];
$res = vsprintf(str_replace(':uniqueString', '%s', $expected), $arr);
echo $res;
→ Ссылка