@springimport

Как сделать замену с массивом с помощью регулярных выражений?

В ответ на API-запрос приходит строка с параметрами. Иногда % бывают без цифр.
Carrier with such method not found: %1, %2
Array ( [0] => ups [1] => GND )

Как сделать замену с помощью preg_replace, возможно ли это?
  • Вопрос задан
  • 127 просмотров
Решения вопроса 2
@springimport Автор вопроса
Думаю что нашел решение вопроса. Выглядит правильным.

<?php

//$string = "Carrier with such method not found: %, %";
//$string = "Carrier with such method not found: %1, %2";
//$string = "Carrier with such method not found: %2, %3";
$string = "Carrier with such method not found: %1, %1";
$replacements = [
    'ups',
    'GND'
];

echo preg_replace_callback('/\%(\w+)/', function($matches) use (&$replacements) {
    return array_shift($replacements);
}, $string);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы