Pude solucionarlo. Después de leer, releer y volver a leer, no solo en la web oficial, sino en otros sitios, pude solucionar el problema con la RegExp.
El método quedó así
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;
}
La modificación consistía en incorporar un asterisco * al final de digit.
Gracias por tu tiempo
quimfv! :D y siento las molestias.