在网址中带有%20的CakePHP自定义路由想要替换w /“ - ”不确定如何在路由中实现这一点

时间:2011-06-01 19:48:46

标签: php url cakephp router

我的链接:

echo $link->link($planDetailsByCompany['PlanDetail']['name'],
    array('controller' => 'plan_details', 'action' => 'view_benefit_schedule',
    'id' => $planDetailsByCompany['PlanDetail']['id'],
    'slug' =>  $planDetailsByCompany['PlanDetail']['name']));

我的自定义路线:

Router::connect('/pd/:id-:slug',
    array('controller' => 'plan_details', 'action' => 'view_benefit_schedule'),
    array('pass' => array('id', 'slug'),
    'id' => '[0-9]+'));

我的网址显示如下:

..pd/44-Primary%20Indemnity

我无法确定如何删除%20并将其替换为“ - ”。公司名称中有一个空间导致此问题。这可能在CakePHP路由器功能中吗?如果是这样,怎么样?或者另一种方法。

1 个答案:

答案 0 :(得分:0)

Geeze ..我刚刚解决了这个问题!

在上面的链接中,将'slug'行替换为:

...'slug' =>  Inflector::slug($planDetailsByCompany['PlanDetail']['name'])...

Inflector处理url中的空格。我的结果网址是:

...pd/44-Primary_Indemnity