[RISOLTO] Url problemi nel gestire gli spazi

Salve ragazzi nuovo problema,

Voglio passare una variabile tramite get fin qui tutto bene tranne quando la variabile all’interno ha uno spazio.

Es. ‘auto’ va bene

'auto blu' non va bene

Perchè lui di default mi inserisce il + tra le due parole , ho provato anche ad usare str_replace(" “,”%20",$variabile) di php ma aggiunge un 25 che non riesco a capire ovvero ‘auto%2520blu’.

ce una soluzione a questo problema?

Non capisco dov’è il problema. Se stampi la variabile $_GET[‘variabile’] non è corretta?

%2520 significa esattamente quello che hai scritto tu: "%20".

prova a usare str_replace(" ",urlencode(’ '),$variabile).

no la recupero cn %2520

invece cin questa maniera mi ritorna %2B tra le due parole :(

mumble mumble

&2b è il +.

quindi prende la variabile già passata e la modifica.

ma se dici che $_GET[‘variabile’]=str_replace(’+’,’ ',$_GET[‘variabile’])?


ma non sarà un problema di configurazione? la tua variabile get da cosa è generata?

Boh, stiamo guardando il problema dalla fine, ovvero quando abbiamo già la variabile in get incasinata. Ci potresti far vedere come crei l’url?

l’url lo creo cosi:


echo CHtml::link(CHtml::encode($cat->nome_categoria), array('categorie/view', 'id'=>str_replace(" ",urlencode(' '),$cat->nome_categoria))); 

ok ho risolto il problema era nel urlManager

ovvero io avevo




'<controller:\w+>/<id:\d+>'=>'<controller>/view',

				'<controller:\w+>/<action:\w+>/<id:\w+>'=>'<controller>/<action>',

				'<controller:\w+>/<action:\w+>'=>'<controller>/<action>'



andando nella wiki di yii ho trovato questo




                            '<controller:\w+>'=>'<controller>/list',

                            '<controller:\w+>/<action:\w+>'=>'<controller>/<action>',

                            '<controller:\w+>/<id:\d+>/<title>'=>'<controller>/view',

                            '<controller:\w+>/<id:\d+>'=>'<controller>/view',