Comunidad de diseño web y desarrollo en internet online

carácteres en GET

Citar            
MensajeEscrito el 06 Ene 2007 05:15 pm
Hola chicos!!

pues a ver, estoy haciendo una consulta a la base de datos. A esta la llamo mediante el titulo en la url, por ejemplo:

http://prueba/index.php?titulo=casos asombrosos

como veis, tiene un espacio. espacio que lo interpreta de la siguiente manera:

http://prueba/index.php?titulo=casos%20asombrosos

hasta ahi bien. Ahora hago un echo para titulo con

Código :

<?php
echo $_GET[titulo];
?>


y el resultado del echo es: casos asombrosos (sin el %20).

a mi me interesa que la url me la de el echo con el %20.

¿es posible?
un saludo y gracias ^^

Por NatESkiN

43 de clabLevel



 

firefox
Citar            
MensajeEscrito el 06 Ene 2007 05:44 pm
Claro, con un str_replace.

Código :

$titulo = str_replace(" ", "%20", $_GET["titulo"]);
echo $titulo;

Por Alan

470 de clabLevel

2 tutoriales

 

firefox
Citar            
MensajeEscrito el 06 Ene 2007 05:56 pm
eso seria hacerlo a mano.

es que quiero sacar todos los caracteres extraños (como la ñ en la url, acentuaciones y demas)

es posible sin tener que hacerlo de este modo? :S

es que a ver, tengo esta funcion hecha:

Código :

function url_amigables($var){
   $var2 = strtolower($var);
   $find = array('-','a','e','i','o','u','n');
   $replace  = array(' ','á','é','í','ó','ú','ñ');

   return str_replace($find, $replace, $var2);
}


el caso que la funcion lo que hace es sustituir los caracteres de la URL (como el guion) por el espacio (asi llamaria bien el contenido de la base de datos).

intente en el find añadir el espacio y en replace pos un caracter diferente (por si lalmabas la url con los espacios no diera resultado), pero lo que hace es volverme a llamar a espacio (porque esta en el find el caracter - que llama a espacio) y parece que se lia a si mismo.

alguna ayudita?

Por NatESkiN

43 de clabLevel



 

firefox
Citar            
MensajeEscrito el 06 Ene 2007 06:26 pm
Ah, ya. Es la función urlencode()

Código :

<?
echo urlencode($_GET["titulo"]);
?>

Por Alan

470 de clabLevel

2 tutoriales

 

firefox
Citar            
MensajeEscrito el 06 Ene 2007 06:36 pm
ehm, creo que no.
el url encode te entiende los espacios por ' + '. pero rawurlencode si ^^
gracias ^^

Por NatESkiN

43 de clabLevel



 

firefox
Citar            
MensajeEscrito el 06 Ene 2007 06:40 pm

NatESkiN escribió:

ehm, creo que no.
el url encode te entiende los espacios por ' + '. pero rawurlencode si ^^
gracias ^^
+ es lo mismo que %20 en urls, pero meh. Qué bueno que te sirvió de pista.

Por Alan

470 de clabLevel

2 tutoriales

 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.