Tengo un problema con una expresion regular que redirije un listado, para que el listado funcione debo codificar las variables GET, en vez en formato ?variable1=valor1&variable2=valor2& ... &variableN=valorN , debo escribirlo como si fuesen directorios, es decir; /variable1-valor1/variable2-valor2/ ... /variableN-valorN
Para ello he preparado una expresion regular, que en teoria deberia sacar las N variables
La expresion regular que utilizo esta en .htacces pero al ver que no funcionaba la he creado en un php para poder testarla.
Para que me podais ayudar os escribo el codigo php necesario
Código PHP:
preg_match('@^/casas/([^/]+)/([^/]+)/([^/]+)(/[^/]+)*$@i', '/casas/venta/parcela/ciudalcampo/num-20/orden-precio/sense-ASC', $matches);
var_dump($matches);
Esto devuelve lo siguiente:
Código PHP:
array(5) {
[0]=>
string(62) "/casas/venta/parcela/ciudalcampo/num-20/orden-precio/sense-ASC"
[1]=>
string(5) "venta"
[2]=>
string(7) "parcela"
[3]=>
string(11) "ciudalcampo"
[4]=>
string(10) "/sense-ASC"
}
y quiero que me devuelva
Código PHP:
array(5) {
[0]=>
string(62) "/casas/venta/parcela/ciudalcampo/num-20/orden-precio/sense-ASC"
[1]=>
string(5) "venta"
[2]=>
string(7) "parcela"
[3]=>
string(11) "ciudalcampo"
[4]=>
string(10) "/num-20"
[5]=>
string(10) "/orden-precio"
[6]=>
string(10) "/sense-ASC"
}
muchas gracias por vuestro tiempo