Hi! Could we please enable some services and cookies to improve your experience and our website?
Online Sandbox for SQL and PHP: Write, Run, Test, and Share SQL Queries and PHP Code
<?php
$uri = 'uk/services/1';
$pattern = '/{context}/{alias?}';
$pattern = trim($pattern, '/');
// Заменяем {context} и {alias?} на именованные группы
$regex = '#^' . preg_replace(
['#\{([a-zA-Z0-9_]+)\?\}#', '#\{([a-zA-Z0-9_]+)\}#'],
['/?([^/]*)?', '/?([^/]+)'],
trim($pattern, '/')
) . '/?(/?)$#';
$regex = str_replace('//', '/', $regex);
// Проверяем соответствие
preg_match($regex, $uri, $uriMatches);
// Фильтруем массив, чтобы оставить только именованные группы
//$result = array_filter($uriMatches, 'is_string', ARRAY_FILTER_USE_KEY);
print_r($uriMatches);