Foros del Web » Programando para Internet » PHP »

Reemplazar espacios por _ en una cadena

Estas en el tema de Reemplazar espacios por _ en una cadena en el foro de PHP en Foros del Web. Hola maestros, Estoy urgido de solucionar algo: En una variable tengo el nombre de los clientes, por ejemplo Pedro Perez Ramirez. Lo que necesito hacer ...
  #1 (permalink)  
Antiguo 16/02/2006, 11:47
Avatar de jpogsistem  
Fecha de Ingreso: diciembre-2001
Mensajes: 2.405
Antigüedad: 22 años, 4 meses
Puntos: 4
Reemplazar espacios por _ en una cadena

Hola maestros,

Estoy urgido de solucionar algo:

En una variable tengo el nombre de los clientes, por ejemplo Pedro Perez Ramirez.

Lo que necesito hacer es llenar con underscoll los espacios vacíos de manera que quede: Pedro_Perez_Ramirez

Existe una función o algo? lo requiero rápido y no tengo idea como lograrlo.

Gracias por su ayuda
__________________
EL LIMITE ES EL UNIVERSO
  #2 (permalink)  
Antiguo 16/02/2006, 12:00
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Siempre que tengas que hacer alguna taréa con cierto tipo de dato .. en tu caso "strings" (cadenas) .. recurre al manual oficial de PHP . .está lleno de funciones que te puedan servir.

Por ejemplo:

str_replace()
www.php.net/str_replace


Un saludo,
  #3 (permalink)  
Antiguo 16/02/2006, 12:22
Avatar de jpogsistem  
Fecha de Ingreso: diciembre-2001
Mensajes: 2.405
Antigüedad: 22 años, 4 meses
Puntos: 4
Que tal, Intento esto pero sale un error indicando que el resultado de la ultima línea está vacío..........

$ruta=$_SESSION['usuario_name'];
$patron='';
$reemplazo='_';
$carpeta= preg_replace($patron, $reemplazo, $ruta);
__________________
EL LIMITE ES EL UNIVERSO
  #4 (permalink)  
Antiguo 16/02/2006, 12:27
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
si postearas el error .. no queda muy claro si la función este regresando "nada" o bien tu variable esta vacia que en tal caso verifica que tenga el mismo nombre que le pusiste en tu form y en tu etiqueta form tengas method=post.
  #5 (permalink)  
Antiguo 16/02/2006, 12:28
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola jpogsistem

¿Y si utilizas...?
Código PHP:
$carpetastr_replace(' ','_',$ruta); 
Saludos,
  #6 (permalink)  
Antiguo 16/02/2006, 12:35
Avatar de jpogsistem  
Fecha de Ingreso: diciembre-2001
Mensajes: 2.405
Antigüedad: 22 años, 4 meses
Puntos: 4
Cita:
Iniciado por JavierB
Hola jpogsistem

¿Y si utilizas...?
Código PHP:
$carpetastr_replace(' ','_',$ruta); 
Saludos,
Solucionado, Gracias a todos.
__________________
EL LIMITE ES EL UNIVERSO
  #7 (permalink)  
Antiguo 06/05/2011, 00:55
 
Fecha de Ingreso: mayo-2011
Ubicación: Mexico D. F.
Mensajes: 1
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: Reemplazar espacios por _ en una cadena

Se que esta respuesta puede ser muy lejana a la inquietud que se planteó en el 2006. Pero, como encontré la respuesta en otros de los temas de forosdelweb, la coloco aqui para que no pierdan las + de 48 horas que yo perdí tratando de resolver.

<form action="lanuevapagina.php" method="post">
<?php // tomo en PHP el valor de GET, digamos "Pedro Fernandez" que me truncaría a solo "Pedro" pues viene del GET como Pedro+Fernandez ?>
<?php echo "Bienvenido "."$_GET[nombre]";
// coloco urlencode y lo interpretará como Pedro+Fernandez; ?>
<?php $nombre = urlencode($_GET["nombre"]);
// sustituyo signos de + por espacio ("&nbsp;");
$nombre =str_replace("+","&nbsp;","$nombre");
// ahora, para tomar el valor de $nombre por hidden y mandarlo por el POST a la pagina "lanuevapagina.php"...
?>
<input type="hidden" name="nombre" id="nombre" value= <?php echo $nombre ?> />
</form>
// listo!!! desde e GET nombre=Pedro+Fernandez, se leerá con el hidden como Pedro Fernandez y los pasará con POST a nueva página
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 04:43.