Hace unos días puse en
el foro una clase para paginación. Dicha clase funciona, pero después de hacer más pruebas, he encontrado un error en el método que crea el nuevo enlace.
Dicho error consiste en que en el siguiente método, sustituye solamente un dígito, y lo que quiero lograr es que sustituya cualquier cantidad de dígitos, no uno, ni dos, ya que el paginador está pensado para que sea, en teoría, ilimitado.
Código PHP:
Ver original/*
* busca y sustituye un patron dentro de una URL para
* eliminar ese patron y sustituirlo para crear una nueva URL
* evitando repetir el patron en la URL
*
* por ejemplo evitar:: ?page=1&page=2&page=3
*/
public function createURL($url, $id, $page)
{
//si el identificador no se encuentra en la url
{
//agrega al final de la url el identificador y el valor que le corresponde
$url = $url."&".$id."=".$page;
}
//sino busca y reemplaza el identificador en la url por su nuevo valor
else
{
$url = preg_replace("/(".$id."=[[:digit:]])/i", $id."=".$page, $url); }
return $url;
}
Después de leer sobre expresiones regulares, no encuentro nada que me sirva para alcanzar mi propósito con esta expresión regular.
¿Alguien puede orientarme?