player
Новичок
Regexp в обратную сторону
Добрый день!
Решил написать в MVC системе рутер, который берет на себя функцию mod_rewrite и также генерирует ссылки.
То есть существует некоторая изменяемая база регулярных выражении
$roots['/^\/([a-zA-Z]+)\?*(.*)$/'] => ['/page/view?id=$1&$2'];
$roots['........'] => ['........'];
...
и функции Router::decode($url) которая заменяет регулярное выражение на внутреннии идентификатор,
и функция Router::decode($url) которая должна делать противоположное.
Вопрос: есть ли возможность автоматически переписывать выше указанные $roots для этой задачи, т.е из указанного примера становится
'/^\/page/view?id=([a-zA-Z]+)&(.*)/' => '/$1\?*$2$'
то есть если грубо сказать, менять скобки и $1, $2 местами?
Добрый день!
Решил написать в MVC системе рутер, который берет на себя функцию mod_rewrite и также генерирует ссылки.
То есть существует некоторая изменяемая база регулярных выражении
$roots['/^\/([a-zA-Z]+)\?*(.*)$/'] => ['/page/view?id=$1&$2'];
$roots['........'] => ['........'];
...
и функции Router::decode($url) которая заменяет регулярное выражение на внутреннии идентификатор,
и функция Router::decode($url) которая должна делать противоположное.
Вопрос: есть ли возможность автоматически переписывать выше указанные $roots для этой задачи, т.е из указанного примера становится
'/^\/page/view?id=([a-zA-Z]+)&(.*)/' => '/$1\?*$2$'
то есть если грубо сказать, менять скобки и $1, $2 местами?

но можно чо угодно с подстановкой переменных.