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

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

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

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

Войти через TM ID
Похожие вопросы