Здравствуйте, я ожидаю: news/view/sport/22
А вижу: http://localhost/test2.2/index.php/news/view/sport/22
Код:
$uri = "http://localhost/test2.2/index.php/news/sport/22";
$uriPattern = "/news\/([\w]+)\/([\d]+)/";
$path = 'news/view/$1/$2';
echo preg_replace($uriPattern, $path, $uri) . '<br>';
preg_replace заменяет подстроку, но не отрезает то, что было до нее. Я бы сначала от $uri отрезал все лишнее, а потом уже делал замену. Замена делается правильно.
Отрезать можно так
$arr = explode('index.php/', $uri);
вернет массив, вам нужен второй элемент.
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники