Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 设置页码的URL_Php - Fatal编程技术网

Php 设置页码的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/ 然后,当我点

我在生成要放入页码的url时遇到一些问题。我正在用

$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等。