@ant42

Как заменить часть строки данными из массива (php)?

Есть массив:
$uri_en_ru = [
"/guides/"=>"/instructions/",
"/version-history.html"=>"/istoriya-versij.html",
"/how-to-install.html"=>"/kak-ustanovit.html"
];

Есть URL:
$uri = $_SERVER['REQUEST_URI'];

Каким способом правильнее и проще делать замену подстрок из этого массива в URL? Заменить подстроку нужно, только если URL начинается с нее.

Например, заменить /how-to-install.html?f=111 на /kak-ustanovit.html?f=111
  • Вопрос задан
  • 73 просмотра
Решения вопроса 1
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
foreach ($uri_en_ru as $preg => $repl)
{
$uri = preg_replace("/^".preg_quote($preg, "/")."/", $repl, $uri);
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
ipatiev
@ipatiev Куратор тега PHP
Потомок старинного рода Ипатьевых-Колотитьевых
Ваш ответ на вопрос

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

Похожие вопросы