parser

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

 

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

Я немного переделал и получилось вот что:

yes 28.05.2003 16:32

######Разбиение uri на две части: директория раздела (поле directory) и запрашиваемый документ (поле document)
###
@uri_split_v2[][split_uri_string;result_table]
$split_uri_string[^uri_string.match[^^(.*/)(.*)^$][i]]
$isdocument[^split_uri_string.2.match[^^(.*)(\.(html|htm|jpg|gif|pdf|doc|zip|rar))^$][i]]
^if($isdocument){
$uri_directory[$split_uri_string.1]
$uri_document[$split_uri_string.2]
}{
$uri_directory[${split_uri_string.1}${split_uri_string.2}/]
$uri_document[]}
$result_table[^table::create{directory	document
$uri_directory	$uri_document}]
$result[$result_table]
###
######
Теперь поясню:
Приходит урл, отсекаем его заднюю часть (за последним слэшем) и смотрим, если расширение нам знакомо, то это документ, а если нет - директорие, соответственно добавляем ее в конец поля directory. Теперь это поле содержит путь к мнимой папке, а поле document не содержит ничего.
Потом (при дальнейшей обработке) это должно будет пригодиться. По полю directory ищем нужный раздел, а по полю документ отдаём нужный документ.