fork download
  1. <?php
  2.  
  3. $route = "letter/{page:[а-яё]{1,2}}/detail/{page:\d+}";
  4. $route = preg_replace('/{([a-z]+):(.*}|.*)}/ui', '(?P<\1>\2)', $route);
  5. var_dump($route);
  6. $route = '#^'.$route.'$#uJ';
  7. var_dump($route);
  8. $url = "letter/вв/detail/2";
  9.  
  10. var_dump(preg_match($route, $url, $m));
Success #stdin #stdout 0.02s 24716KB
stdin
Standard input is empty
stdout
string(52) "letter/(?P<page>[а-яё]{1,2})/detail/(?P<page>\d+)"
string(58) "#^letter/(?P<page>[а-яё]{1,2})/detail/(?P<page>\d+)$#uJ"
int(1)
array(4) {
  [0]=>
  string(20) "letter/вв/detail/2"
  ["page"]=>
  string(1) "2"
  [1]=>
  string(4) "вв"
  [2]=>
  string(1) "2"
}