2014-01-24 6 views
0

У меня есть этот пример:Zend_Controller_Router_Route_Regex - пожалуйста, помогите мне с четвертым параметром

$route = new Zend_Controller_Router_Route_Regex(
    'blog/archive/(\d+)-(.+)\.html', 
    array(
     'controller' => 'blog', 
     'action'  => 'view' 
    ), 
    array(
     1 => 'id', 
     2 => 'description' 
    ), 
    'blog/archive/%d-%s.html' 
); 
$router->addRoute('blogArchive', $route); 

Может кто-нибудь сказать мне, что /% d,% S означает? Например, если есть такой код:

$route = new Zend_Controller_Router_Route_Regex("^([a-z,0-9,-]*)(/|)([a-z,0-9,-]*)(/|)([a-z,0-9,-]*)(/|)([a-z,0-9,-]*)(/|)([a-z,0-9,-]*)(/date/|)([a-z]*)(/page/|)([0-9]*)$", 
     array(
      "module" => "default", 
      "controller" => "categories", 
      "action" => "index" 
     ), 
     array(
       1 => 'firstparam', 
       3 => 'secondparam', 
       5 => 'theeparam', 
       7 => 'fourparam', 
       9 => 'fiveparam', 
       11 => 'date', 
       13 => 'page', 

      ) 
    ); 

как я могу написать последний параметр («блог/архив /% d-% s.html») Линка в примере. Спасибо!

+0

Почему вы опубликовали два вопроса по одной и той же проблеме/проблеме? [Другой вопрос] (http://stackoverflow.com/questions/21331059/zend-controller-router-route-regex-rewrite-all-my-module-links) –

+0

Это не тот же вопрос. Я хочу написать четвертый параметр, чтобы использовать $ this-> url. Другой был о «haw, чтобы избежать применения этого правила ко всем моим ссылкам» – Andreea

ответ

1

%d означает цифру и %s означает строку.

[a-z,0-9,-]* является регулярным выражением. Читайте больше here.