Php 设置页码的URL
我在生成要放入页码的url时遇到一些问题。我正在用Php 设置页码的URL,php,Php,我在生成要放入页码的url时遇到一些问题。我正在用 $this->url = rtrim($_SERVER['REQUEST_URI'], " /"); 然后在另一个类中,我使用 echo "<a class='active' href='".$this->page->url."/".$i."/'>".$i."</a>"; echo”“; 因此,当我现在导航到我的页面时,url如下所示 localhost/designv2/blog/ 然后,当我点
$this->url = rtrim($_SERVER['REQUEST_URI'], " /");
然后在另一个类中,我使用
echo "<a class='active' href='".$this->page->url."/".$i."/'>".$i."</a>";
echo”“;
因此,当我现在导航到我的页面时,url如下所示
localhost/designv2/blog/
然后,当我点击页码中的数字1时,我得到
localhost/designv2/blog/1/
但是,当我点击页码中的数字2时,我得到
localhost/designv2/blog/1/2
如果我点击3号,我会得到
localhost/designv2/blog/1/2/3
为什么,它会继续向url添加数字,而不是替换旧的数字
我可以拆分url,通过for循环运行它并删除最后一个参数,但我也将此url用于页面上的其他内容,所以我不能只删除最后一个参数
有什么建议吗?试试这段代码
echo "<a class='active' href='/designv2/blog/".$i."/'>".$i."</a>";
echo”“;
在最后一个url追加ID
之前,检查并删除ID
(如果存在)
反而
$this->url = rtrim($_SERVER['REQUEST_URI'], " /");
将上次出现的/\/[0-9]\/$/
此处(/1/
或/2/
)替换为/
。尝试类似的方法
$url = $_SERVER['REQUEST_URI'];
$regex = '/\/[0-9]\/$/';
$this->url = preg_replace($regex, '/', $url);
是的,这是可行的,但它不会是动态的。我还使用了多个位置的分页,因此url不总是/designv2/blog/2,也可以是/design/blog/sort/tag/php/2等。