Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/11/2007, 14:56
Avatar de luistar
luistar
 
Fecha de Ingreso: marzo-2005
Ubicación: Argentina
Mensajes: 939
Antigüedad: 19 años, 1 mes
Puntos: 0
reemplazo de coincidencias en un patron

hola...

tengo por ejemplo el siguiente patron:

categoria/([a-z]+)(/pag/([0-9]+))?

que hace que coincida con:

categoria/pcs
categoria/pcs/pag/1
categoria/televisores/pag/200

lo uso para generar urls amigables
(claro que las barras en el patrón las escapo antes buscar coincidencias)

los patrones son diversos y los tengo en un array asociativo, algo así

Código PHP:
$urls = array(
    
'producto' => '([a-z]+)/producto/([a-z]+)',
    
'notia' => 'noticia/([a-z\-]+)(/comentarios)?'
); 
lo que hago es comparar la url que ingresan en el navegador con cada uno de los patrones y si coincide con alguno sé qué escript ejecutar
adicionalmente identifico las coincidencias que luego los uso como variables en el escript correspondiente
ejem
url: peru/producto/calamar
patron: ([a-z]+)/producto/([a-z]+)
coincidencias: array('peru', 'calamar')

ahora necesito armar las urls para los links basandome en los patrones que ya tengo
necesito una funcion armarURL del tipo:

Código PHP:
$url_final armarURL($urls['producto'],array('chile','pisco')); 
donde $url_final deberia contener: chile/producto/pisco

osea que reemplaze una a una las posibles coincidencias en el patron por los elementos del array del segundo argumento

ayuda maestros :)
__________________
Si digo que soy mentiroso. ¿Lo soy?