Ver Mensaje Individual
  #5 (permalink)  
Antiguo 16/05/2009, 17:22
vega22
 
Fecha de Ingreso: septiembre-2007
Mensajes: 99
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: Escritura correcta de URLs. Htmlentities - Urlencode

Es verdad. Luego lo que has hecho es aplicar urlencode() a la variable con espacios y luego htmlentities() a la url a la hora de escribirla como html, por separado. Ok.

htmlentitites(urlencode()) sólo lo aplico cuando la URL va a llevar variables que no controlo y que pueden llevar espacios o cosas raras así, y luego hay que escribirla en HTML, lógicamente (pero esto me ha dado a menudo malos resultados, el browser a veces no entiende lo que sale cuando lo aplico a la URL entera -htmlentities(urlencode(URL))-). Si controlas las variables y sabes que no van a contener cosas raras, un htmlentities() es bastante a la hora de plasmar HTML, sólo para que automatice el proceso de pasar las & a &

En realidad también intento controlar siempre las variables que van a acabar llegando al HTTP, por eso suelo usar las URL de ese tipo en crudo, pero ahora me queda claro que no está de más acostumbrarse a usar en éstas siempre el urlencode().

Luego me apunto en el manual del buen programador esto:
HTML:
1) Si controlas las variables y van a ir depuradas, aplica htmlentities() a las URLs
2) Si no controlas las variables, procura aplicarles a ellas primero el urlencode(), y luego sigue con el paso 1). Si compruebas que el browser es capaz de leerlo bien, un htmlentities(urlencode(URL)) puede simplificar las cosas en determinados casos.
HTTP:
1) Si controlas las variables y van a ir depuradas, de todos modos aplica un urlencode()
2) Si no controlas las variables, aplica sí o sí un urlencode()

Si es correcta esta conclusión, podemos dar por resuelto el caso