Как подставить значения в паттерн?

Доброго времени суток, помогите решить проблему.
Есть строка (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;
  • Вопрос задан
  • 73 просмотра
Решения вопроса 1
  • BojackHorseman
    @BojackHorseman
    ...в творческом отпуске...
    в обратку - str_replace

    менять массив ['(uk|en|ru|ko)', '([0-9]+)', '([a-z]{,9})'] на массив ['ru', '9', 'test']
    Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
Zaymigo Нижний Новгород
от 20 000 до 100 000 руб.
Devmasterz Тюмень
от 80 000 до 120 000 руб.
17 июля 2018, в 03:42
500 руб./за проект
17 июля 2018, в 03:39
30 руб./за 1000 зн.