non so, forse sbaglio, ma io lo farei in un paio di passaggi, tipo:
1. togli sempre il ?
2. trasformi qualcosa= in /
3. trasformi & in ''
4. aggiungi una barra all'inizio della stringa se non c'è.
Una cosa tipo questa:
codice:
function trasforma($s) {
$string = str_replace('?', '', $s);
$string = preg_replace('/[\w\d]+=/', '/', $string);
$string = str_replace('&', '', $string);
if($string[0] != '/') {
return '/'.$string;
}
return $string;
}
$string = '?cache=1&limit=2';
echo trasforma($string);
$string = '?cache&limit=2';
echo trasforma($string);