GrayHound
Новичок
регулярка на адресе
замкнуло совсем.
Нужно url пропасить:
subdomain.domain.zone/module/action/param1=test1/param2=test2/
а замкнуло вот на чём - далеко не всё может быть перечисленное в строке.
С субдоменом, доменом и зоной всё просто - там 3 результата в любом случае, независимо от того указан ли домен или зона.
Отсутсвие module или action или вместе взятых убивает всю мою и без того идиосткую логику.
Говорю сразу - последний элемент (.*) как сделать верно до меня тоже не доходит. Тут видимо нужно бы рекурсию, в использовании который я наглухо запутался. Вид ячейки для $matches типа [$n] => "param1=test" вполне устроит.
Есть ещё вариант сделать /module/action/params=param1/param2/param3.... Но params= тоже может отсутствовать...
Подскажите хоть кто чего. Мануалы по регуляркам читаются тяжело =/.
Вобщем нужно - элементы 1,2,3 - под имя сервера. 4,5-модуль/действие (если нет пустые), 6+ - параметры...
замкнуло совсем.
Нужно url пропасить:
subdomain.domain.zone/module/action/param1=test1/param2=test2/
PHP:
$url = "subdomain.domain.zone/module/action/param1=test1/param2=test2/";
$allnum = "[A-Za-z0-9]*";
$match = preg_match("/(".$allnum.")[\.]*(".$allnum.")[\.]*(".$allnum.")[\.]*\/(".$allnum.")[\/]*(".$allnum.")(.*)/", $url, $matches);
С субдоменом, доменом и зоной всё просто - там 3 результата в любом случае, независимо от того указан ли домен или зона.
Отсутсвие module или action или вместе взятых убивает всю мою и без того идиосткую логику.
Говорю сразу - последний элемент (.*) как сделать верно до меня тоже не доходит. Тут видимо нужно бы рекурсию, в использовании который я наглухо запутался. Вид ячейки для $matches типа [$n] => "param1=test" вполне устроит.
Есть ещё вариант сделать /module/action/params=param1/param2/param3.... Но params= тоже может отсутствовать...
Подскажите хоть кто чего. Мануалы по регуляркам читаются тяжело =/.
Вобщем нужно - элементы 1,2,3 - под имя сервера. 4,5-модуль/действие (если нет пустые), 6+ - параметры...