Как в php заменить все вхождения по шаблону на массив значений?
Пример: есть шаблон строки
'posts/$s/$s_$s.html';
Делаю замену так: $tmpstr = preg_replace('/\$s/', $args, $tmpstr);
И если $args - строка или число, то всё ок. Но мне надо что бы $args - было массивом.
т.е. на выходе надо получить
'posts/user/123_456.html'
Передав массив $args = array ('user',123,456);
Собственно вопрос - как это сделать? Я подозреваю что просто изменив регулярное выражение. А может и функция не та.
Или просто создать массив типа такого: (подчёркиваю "типа") $pattern = array('/\$s/','/\$s/','/\$s/');
и скормить его вместе с массивом $args - но это как то слишком тупо... и палюбому неэффективно.