parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Как разбить URI? Помогите!

Baurjan 18.11.2002 08:29 / 18.11.2002 08:32

Здравствуйте многоуважемые участники форума!

Никак не могу решить проблему связанную с разбиением $request:uri. Вопрос в следующем:

необходимо разбить вводимый uri на части следущим образом:
http://domain.com/ -----------> $path1[]
http://domain.com               $page[index]
 
/level_1/ --------------------> $path1[level1]
/level_1                        $page[index]

/level_1/page.html -----------> $path1[level1]
                                $page[page]

/level_1/level2/ -------------> $path1[level1]
/level_1/level2                 $path2[level2]
                                $page[index]

/level_1/level2/page.html ----> $path1[level1]
                                $path2[level2]
                                $page[page]

/level_1/.../levelN/ ---------> $path1[level1]
/level1/.../levelN              ..............
                                $pathN[levelN]
                                $page[index]

/level_1/.../levelN/page.html --> $path1[level1]
                                  ..............
                                  $pathN[levelN]
                                  $page[page]
Т.е. название каталога становится значением переменной $pathN, где N номер уровня вложенности, а название страницы становится значением переменной $page. Если в составе URI нет страницы (http://domain.com/ или http://domain.com/about), то $page присваивается значение index.

Я пытался нарисовать все это с помощью методов класса file, но так и не смог, точнее не получилось реализовать разбиение для многоуровневой структуры. Предполагаю, что можно это сделать при помощи match и Рег.Выр., но пока я еще не разобрался с ними и окончательно запутался.

Помогите пожалуйста.
Зачем это нужно? - Чтобы брать эти части и сверять их в базе, а потом уже работать со страницей.

С уважением,
Baurjan.