使用 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:如果您在视图脚本中,语法会有所不同,在这种情况下,无论如何您都应该创建一个视图助手,或者您可以在控制器中创建并分配给视图。
我的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:如果您在视图脚本中,语法会有所不同,在这种情况下,无论如何您都应该创建一个视图助手,或者您可以在控制器中创建并分配给视图。