Hi! Could we please enable some services and cookies to improve your experience and our website?

PHPize Online / SQLize Online  /  SQLtest Online

A A A
Login    Share code      Blog   FAQ

Online Sandbox for SQL and PHP: Write, Run, Test, and Share SQL Queries and PHP Code

Copy Format Clear

Stuck with a problem? Got Error? Ask AI support!

Copy Clear
Copy Format Clear
<?php $uri = 'uk/services'; $pattern = '/context/{alias?}'; $pattern = trim($pattern, '/'); if (preg_match_all('#\{([a-zA-Z0-9_]+)\??\}#', $pattern, $matches) && !empty($matches[1])) { $keys = $matches[1]; } else { // Если нет плейсхолдеров, разбиваем строку по "/" $keys = explode('/', $pattern); } print_r($keys); // Заменяем {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);
Copy Clear