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/';
$pattern = '/{context}/{alias?}';
$pattern = trim($pattern, '/');
// Заменяем {context} и {alias?} на именованные группы
$regex = preg_replace('#\{([a-zA-Z0-9_]+)\?\}#', '(?P<$1>[^/]*)?', $pattern);
$regex = preg_replace('#\{([a-zA-Z0-9_]+)\}#', '(?P<$1>[^/]+)', $regex);
// Добавляем начало и конец регулярного выражения
$regex = '#^' . str_replace('/', '\/', $regex) . '$#';
// Проверяем соответствие
preg_match($regex, $uri, $uriMatches);
// Фильтруем массив, чтобы оставить только именованные группы
$result = array_filter($uriMatches, 'is_string', ARRAY_FILTER_USE_KEY);
print_r($result);