使用 PHP (Zend FrameWork) 删除部分 URL

Remove part of URL using PHP (Zend FrameWork)

我的link是这样的:

http://website.com/test1/test2/public/books/detail/page_id/number/page/2

我想删除第 2 页并将其转换为:

http://website.com/test1/test2/public/books/detail/page_id/number

我可以用 :

定义 URL 的最后一部分
$uri = Zend_Controller_Front::getInstance()->getRequest()->getRequestUri();
$part = basename($uri);

或像这样定义另一部分:

$parts = Explode('/', $uri);
    $id2 = $parts[count($parts) - 2];
    $id1 = $parts[count($parts) - 1];

但我无法删除它

$uri = $this->serverUrl(true);    
$parts = Explode('/page/', $uri);

$parts[0] 就是您想要的 link

我认为,对于您的情况,这应该在您的控制器中:

$url = Zend_Controller_Front::getInstance()->getBaseUrl() .
"books/detail/page_id/" . $this->getRequest()->getParam('page_id');

PS:如果您在视图脚本中,语法会有所不同,在这种情况下,无论如何您都应该创建一个视图助手,或者您可以在控制器中创建并分配给视图。