ldrahnik/url-matcher requires PHP 5.4 or higher.
Install url-matcher to your project using Composer:
$ composer require ldrahnik/url-matcher
create url
$patterns = [
'lang' => 'cz',
'presenter' => 'home',
'action' => 4
];
$mask = '[<lang>/]<presenter>/<action>';
$matcher = new Matcher($mask, $patterns);
$results = $matcher->parse();
/*array [
'home/4',
'cz/home/4',
];*/
confirm url
$mask = '[<lang>/]<presenter>[/<action>]';
$matcher = new Matcher($mask);
$result = $matcher->match('en/admin');
// true
$mask = 'root/<folder>/<subfolder>/<file>.latte';
$matcher = new UrlMatcher\Matcher($mask, [
'folder' => '*',
'subfolder' => 'foo',
'file' => '*'
]);
$mask = $matcher->parse();
// root/*/foo/*.latte
foreach (glob($mask) as $filename) {
echo basename($filename);
}
$default = [
'separator_lft' => '<',
'separator_rgt' => '>',
'optional_lft' => '[',
'optional_rgt' => ']'
];
$matcher = new Matcher(..., ..., $default);