Foros del Web » Programando para Internet » PHP »

Escapar pagina del query con expresón regular

Estas en el tema de Escapar pagina del query con expresón regular en el foro de PHP en Foros del Web. Hola compañeros, estoy creando una clase de paginación y estoy teniendo problemas al quitar la pagina pasada por GET junto a más parámetros. Os pongo ...
  #1 (permalink)  
Antiguo 02/06/2012, 07:39
 
Fecha de Ingreso: enero-2010
Mensajes: 389
Antigüedad: 14 años, 3 meses
Puntos: 4
Escapar pagina del query con expresón regular

Hola compañeros,

estoy creando una clase de paginación y estoy teniendo problemas al quitar la pagina pasada por GET junto a más parámetros. Os pongo un ejemplo:

http://web.com/?pagina=basura&value1=2&value2=3

Que expresión regular puedo usar para eliminar el valor de pagina sin alterar el resto del query? para que pare de sustituir en el & del siguiente parámetro. Estoy usando esta expresión pero no se como hacer para que se detenga ante un & o si hay alguna forma mas eficiente:
Código PHP:
preg_replace('/[?|&]{0,}pagina=[\S]{0,}/i'''$url); 
Con el /S es obvio que me elimina todo dejándome la url sin parámetros para el caso de arriba, pero me veo obligado a no solo usar dígitos (\d en lugar de \S) ya que de incrustar caracteres no serán borrados.

¿Como hacéis vosotros para eliminar la página anterior cuando hay mas parámetros? No se me ocurre otra más eficiente.

Un saludo

Última edición por erxaca; 02/06/2012 a las 17:41
  #2 (permalink)  
Antiguo 02/06/2012, 17:42
 
Fecha de Ingreso: enero-2010
Mensajes: 389
Antigüedad: 14 años, 3 meses
Puntos: 4
Respuesta: Escapar pagina del query con expresón regular

alguna ayudita? XD

Como lo hacéis normalmente para estos casos? En los ejemplos que encuentro no está la posibilidad de que se envie junto a más parámetros.

Última edición por erxaca; 29/06/2012 a las 10:19

Etiquetas: escapar, query, regular
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:41.