Здравствуйте!
Подскажите пожалуйста что не так?
Есть код с массивом городов, цель которого получить из ссылки нужное значение, сравнить его с значениями в массиве и при совпадении заменить его на другое значение:
// Примечание: изначально для определения ссылки в адресной строке использую REQUEST_URI
// $url = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$url = 'https://mysite.ru/uzlovaya/products';
$cities_list = [
// 'moscow'=> ['IP'=>'Москва', 'RP'=>'Москве'],
// 'novosibirsk'=>['IP'=>'Новосибирск', 'RP'=>'Новосибирске'],
// 'arhangelsk'=> ['IP'=>'Архангельск', 'RP'=>'Архангельске'],
// 'balahna'=> ['IP'=>'Балахна', 'RP'=>'Балахне'],
// 'uzlovaya'=> ['IP'=>'Узловая', 'RP'=>'Узловой'],
// 'rostov-na-donu'=> ['IP'=>'Ростов-на-Дону', 'RP'=>'Ростове-на-Дону'],
'uzlovaya'=>'Узловой'
];
$text = $url;
echo ( str_replace(array_keys($cities_list ), array_values($cities_list ), $text) );
который для строчки
$url = 'https://mysite.ru/uzlovaya/products';
заменяет "uzlovaya" на "Узловой", только делает это таким образом:
https://mysite.ru/Узловой/products
Здесь str_replace отрабатывает хорошо, но как мне убрать все остальное, чтобы оставалось в итоге замененное значение "Узловой" и ничего вокруг него?
И как вывод осуществлять через str_replace если используется такой вид массива?
'uzlovaya'=> ['IP'=>'Узловая', 'RP'=>'Узловой'],