I have some problems generating the url i want to put in my pagination numbers. I'm setting the url inside a class with
$this->url = rtrim($_SERVER['REQUEST_URI'], " /");
then inside another class I'm setting the href value on the pagination number with
echo "<a class='active' href='".$this->page->url."/".$i."/'>".$i."</a>";
So when i now navigate to my page the url is like this
localhost/designv2/blog/
Then when i click on number 1 in the pagination i get
localhost/designv2/blog/1/
But, then when i click on number 2 in the pagination i get
localhost/designv2/blog/1/2
And if i click on number 3 i get
localhost/designv2/blog/1/2/3
Why, does it keep on adding numbers to the url instead of replacing the old number?
I could split up the url, run it through a for loop and remove the last parameter but I'm using this url for other things on my pages aswell so i cant just remove the last parameter.
Any suggestions?
Before appending ID
at the last in url, check and remove ID
if exist.
Instead
$this->url = rtrim($_SERVER['REQUEST_URI'], " /");
Replace last occurence of /\/[0-9]\/$/
here (/1/
or /2/
) to /
.Try something like this
$url = $_SERVER['REQUEST_URI'];
$regex = '/\/[0-9]\/$/';
$this->url = preg_replace($regex, '/', $url);
Try this code
echo "<a class='active' href='/designv2/blog/".$i."/'>".$i."</a>";