Foros del Web » Programando para Internet » PHP »

Sustituir espacio por +

Estas en el tema de Sustituir espacio por + en el foro de PHP en Foros del Web. Hola, tengo una duda, que hace saltar un error en PHP. Los usuarios escriben algo en un campo de texto. Lo que escriben, se usa ...
  #1 (permalink)  
Antiguo 03/11/2008, 12:59
Avatar de frins  
Fecha de Ingreso: enero-2008
Ubicación: Osor, Girona
Mensajes: 227
Antigüedad: 16 años, 3 meses
Puntos: 5
Pregunta Sustituir espacio por +

Hola, tengo una duda, que hace saltar un error en PHP. Los usuarios escriben algo en un campo de texto. Lo que escriben, se usa para cojer un Xml, con ?texto={Aquí el texto}, pero claro, enviar cosas por GET sin cambiar los espacios por +, dan un error.

¿Como puedo cambiar los espacios por el símbolo +?
__________________
Buscador Net-Seekr
http://www.net-seekr.com
  #2 (permalink)  
Antiguo 03/11/2008, 13:01
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Respuesta: Sustituir espacio por +

http://es.php.net/str_replace

Pero... si lo sustituyes por +, seguramente tendrás que volver a sustituirlo por espacios en el destino (creo yo, no estoy seguro).

Para usar espacios puedes poner %20
  #3 (permalink)  
Antiguo 03/11/2008, 13:23
Avatar de frins  
Fecha de Ingreso: enero-2008
Ubicación: Osor, Girona
Mensajes: 227
Antigüedad: 16 años, 3 meses
Puntos: 5
Respuesta: Sustituir espacio por +

No te entiendo.
Yo tengo que cojer un archivo con PHP de un servidor remoto. el php seria:
Código PHP:
$data 'http://127.0.01/feed?q='.$_GET['query'].'&hl=es'
Si el $_GET['query'] tiene una palabra sin espacios funciona, en cambio si tiene una palabra con espacios, da error de HTTP, (EL PHP). La forma de que no diera error, seria cambiar los espacios de $_GET['query'], y que los espacios fuesen el símbolo '+'.

¿Me entiendes?
¿Me puedes poner un ejemplo usando str_replace?
__________________
Buscador Net-Seekr
http://www.net-seekr.com
  #4 (permalink)  
Antiguo 03/11/2008, 13:27
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Respuesta: Sustituir espacio por +

Bueno, si con + no da error, pues adelante, utiliza el str_replace.

Lo que comentaba era que no sabía si poniendo + en vez de espacios el sistema que recoja la variable (en éste caso el feed) iba a entenderlo.
Por eso daba la otra opción. Si en una URL pones %20 lo tratará como un espacio.
Pero vamos, si el sistema acepta el + como un espacio, hazlo así.
  #5 (permalink)  
Antiguo 03/11/2008, 13:39
Avatar de frins  
Fecha de Ingreso: enero-2008
Ubicación: Osor, Girona
Mensajes: 227
Antigüedad: 16 años, 3 meses
Puntos: 5
Respuesta: Sustituir espacio por +

Bueno,
He hecho el siguiente código:
Código PHP:
<?php
$query 
str_replace($_GET['query'], """+");
$data 'http://127.0.0.1/feed?query='.$query;
echo 
$data;

?>
Pero despues de: $query = str_replace($_GET['query'], en los "", no se como tengo que poner para que detecte un espacio, si es así:" ", lo detecta como nada.

Como lo puedo poner?
__________________
Buscador Net-Seekr
http://www.net-seekr.com
  #6 (permalink)  
Antiguo 03/11/2008, 13:45
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Respuesta: Sustituir espacio por +

$query = str_replace(" ", "+",$_GET['query']);
  #7 (permalink)  
Antiguo 03/11/2008, 13:52
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Sustituir espacio por +

¿Porque no usar algo mejor y más estandar como urlencode?.

Saludos.
  #8 (permalink)  
Antiguo 03/11/2008, 13:54
Avatar de frins  
Fecha de Ingreso: enero-2008
Ubicación: Osor, Girona
Mensajes: 227
Antigüedad: 16 años, 3 meses
Puntos: 5
Respuesta: Sustituir espacio por +

Muchas Gracias,Keysher, ahora funciona a la perfeción.!!!!!!!!!!!!
__________________
Buscador Net-Seekr
http://www.net-seekr.com
  #9 (permalink)  
Antiguo 03/11/2008, 13:56
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Respuesta: Sustituir espacio por +

GatorV, había pensado en esa opción, pero eso requeriría hacer un decode en en el script que tomase los datos, no? y pensé que eso no sería modificable por él.

Pero no me fijé que la url de destino estaba en su propio servidor.... así que sería una mejor idea hacer el encode.
  #10 (permalink)  
Antiguo 03/11/2008, 14:52
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Sustituir espacio por +

Cita:
Iniciado por Keysher Ver Mensaje
GatorV, había pensado en esa opción, pero eso requeriría hacer un decode en en el script que tomase los datos, no? y pensé que eso no sería modificable por él.
Mira este tema http://www.forosdelweb.com/f18/que-c...decode-635657/

Saludos,
  #11 (permalink)  
Antiguo 03/11/2008, 15:24
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Respuesta: Sustituir espacio por +

Ummm, curioso e instructivo... No sabía que se hacía un decode automáticamente a las variables que llegaban por GET!!

Gracias por el apunte!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:01.