Доброго времени суток, помогите решить проблему.
Есть строка
(uk|en|ru|ko)/chat_mini/actions/([0-9]+)/([a-z]{,9})
И массив
['ru', 9, 'test']
как получить
ru/chat_mini/actions/9/test?
Решение:$pattern = '(uk|en|ru|ko)/chat_mini/actions/([0-9]+)/([a-z]{,9})';
preg_match_all('/(\([^\(]*)\)/i', $pattern, $matches); // собираем всё что в скобках для последующей замены
$arr = ['ru', 89, 'test']; // массив значений которые нужно будет подставить
$string = str_replace($matches[0], $arr, $pattern); // наша строчка с вставленными параметрами
echo 'Исходная строчка:<br>';
echo $pattern . '<br>';
echo 'Результат:<br>';
echo $string;