Ver Mensaje Individual
  #6 (permalink)  
Antiguo 14/01/2014, 07:24
Avatar de guardarmicorreo
guardarmicorreo
 
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 11 años, 5 meses
Puntos: 84
Respuesta: Expresiones regulares PCRE

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
  1. /*
  2.      * busca y sustituye un patron dentro de una URL para
  3.      * eliminar ese patron y sustituirlo para crear una nueva URL
  4.      * evitando repetir el patron en la URL
  5.      *
  6.      * por ejemplo evitar::          ?page=1&page=2&page=3
  7.      */
  8.     public  function    createURL($url, $id, $page)
  9.     {
  10.         //si el identificador no se encuentra en la url
  11.         if(substr_count($url, $id)  ==0)
  12.         {
  13.             //agrega al final de la url el identificador y el valor que le corresponde
  14.             $url  =   $url."&".$id."=".$page;
  15.         }
  16.        
  17.         //sino busca y reemplaza el identificador en la url por su nuevo valor
  18.         else
  19.       {
  20.             $url  =   preg_replace("/(".$id."=[[:digit:]]*)/i", $id."=".$page, $url);
  21.         }
  22.        
  23.         return  $url;
  24.     }

La modificación consistía en incorporar un asterisco * al final de digit.

Gracias por tu tiempo quimfv! :D y siento las molestias.
__________________
Ayúdame a hacerlo por mi mismo.