Регулярное выражение Codeigniter для группировки активных фильтров

#regex #routes #codeigniter-3

#регулярное выражение #маршруты #codeigniter-3

Вопрос:

Мне нужен способ группировать URL-адреса в одной группе до конца с чем-то, что мне нужно, чтобы получить все активные фильтры

http://my.website/phones/filter/attribute-id1,attribute-value-id1/attributer-id2,value-id2/c

И у меня есть РЕГУЛЯРНОЕ ВЫРАЖЕНИЕ для получения фильтров, нажмите здесь

 $route['(:any)/(:filter/(.*)/c)/c'] = 'test/$1/$2';
 

Я пробовал это, но не работает.

  1. Телефон должен войти в первый параметр
  2. Все после ‘filter’ до конца с /c переходит к параметру 2

Я не уверен, ясно ли я.

Любой может мне помочь: D

Обновить

 function test($category, $filters) {
    print_r($category); // phones
    print_r($filters); // attribute-id1,attribute-value-id1/attributer-id2,value-id2
}
 

Комментарии:

1. Пожалуйста, покажите желаемый результат для входной строки.

Ответ №1:

Что-то вроде этого может помочь:

http://my.website/([^/] )/filter/(. )/c

1-я группа будет совпадать phones , 2-я группа будет совпадать attribute-id1,attribute-value-id1/attributer-id2,value-id2 .

Комментарии:

1. Я использовал этот $route[‘([^/] )/ filter/(. )/c’] = ‘test/$1/ $2’ И все равно разделяется на ‘/’ Вторая группа дает — атрибут-id1, атрибут-значение-id1 Третийгруппа дает — атрибут-id2, значение-id2