Cita:  
					Iniciado por rashid  jmn2k1:
 
en esta página que me diste: 
http://ar2.php.net/urldecode 
Menciona que no es bueno usar el urldecode para variables enviadas por get, y es lo que estoy haciendo.
   No dice que no sea bueno, dice que tengas cuidado si envias entidades HTML. 
Quiere decir que si vos haces algo como: 
echo urlencode("var1=Juan Perez&var2=123"); 
Vas a tener como resultado esto var1%3DJuan+Perez%26var2%3D123 y los ampersand (&) y los iguales no van a estar para delimitar las variables... 
lo que tendrias que hacer es aplicarlo a cada variable por vez: 
echo urlencode("Juan Perez"); 
Que obtiene esto: "Juan+Perez" y si le aplicas urldecode vas a tener, de nuevo, "Juan Perez". 
En cuanto usar str_replace para reemplazar la cadena, seria hacer exactamente lo mismo que aplicar un rawurlencode() (que si lees la diferencia esta en el espacio codificado como "+" o como "%20").
Ademas siempre es mejor aprovechar una funcion nativa y no crear uno su propia funcion. 
Saludos