Foros del Web » Programando para Internet » PHP »

Sustituir saltos de lineas por comas en textarea

Estas en el tema de Sustituir saltos de lineas por comas en textarea en el foro de PHP en Foros del Web. Hola a todos, me gustaría saber si se puede hacer lo siguiente: Tengo un formulario con un textarea cuyo contenido es este: Nombre Uno Nombre ...
  #1 (permalink)  
Antiguo 23/09/2010, 07:11
 
Fecha de Ingreso: marzo-2010
Mensajes: 128
Antigüedad: 14 años, 1 mes
Puntos: 3
Sustituir saltos de lineas por comas en textarea

Hola a todos, me gustaría saber si se puede hacer lo siguiente:

Tengo un formulario con un textarea cuyo contenido es este:

Nombre Uno
Nombre Dos
Nombre Tres

Pues bien, lo que quiero es saber si se puede hacer de alguna forma para que quede asi:

Nombre Uno, Nombre Dos, Nombre Tres

¿Se podría hacer con "implode"?

Gracias.
  #2 (permalink)  
Antiguo 23/09/2010, 07:40
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 17 años, 6 meses
Puntos: 74
Respuesta: Sustituir saltos de lineas por comas en textarea

Vamos a suponer que el textarea lo recibimos por una variable llamada $foo, pues haríamos así:

Código PHP:
Ver original
  1. $foo = $_POST['foo'];
  2.     $remplazo = str_replace("\n", ",", $foo);
  3.     echo $remplazo;

De esta manera si en el textarea ponemos esto:

Nombre Uno
Nombre Dos
Nombre Tres

Luego lo recibiremos así: Nombre Uno ,Nombre Dos ,Nombre Tres

Saludos,
  #3 (permalink)  
Antiguo 23/09/2010, 07:56
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: Sustituir saltos de lineas por comas en textarea

Hola rubiomike, no puedes usar implode(). Implode coge valores de un array y los pasa a cadena. Si los valores están en un TEXTAREA, se pasan como un string, entonces tú tienes una cadena que quieres cortar y concatenar con comas.
En el ejemplo, primero separo los nombres y los meto en un array, después los concateno con ",". La función trim() es para quitar los saltos de linea que vienen del textarea. Espero te sirva de ayuda:

Código PHP:
<?php
if(isset($_POST['Submit'])){
    
//Pongo todos los nombres en una variable
    
$names explode("\n",$_POST['nombres']);
    echo 
"<h2>Primero: Los nombres en un array</h2><pre>";
    
print_r($names);
    echo 
"</pre>";
    
        echo 
"<h2>Después: Concatenarlos en una sola variable</h2><pre>";
    
$concat "";
    foreach(
$names as $name)
        
$concat .= trim($name).",";
    
    echo 
"<h2>$concat</h2>";
    echo 
"</pre>";
}
else{
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body>
<form id="form1" name="form1" method="post" action="">
<table width="500" border="0">
  <tr>
    <td>Nombres</td>
    <td>
      <label>
        <textarea name="nombres" cols="60" rows="5" id="nombres">Nombre Uno
        Nombre Dos
        Nombre tres
        Nombre Cuatro</textarea>
        </label>    </td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td><label>
      <input type="submit" name="Submit" value="Enviar" />
      </label></td>
  </tr>
</table> 
</form>
</body>
</html>
<?php ?>
  #4 (permalink)  
Antiguo 23/09/2010, 08:18
 
Fecha de Ingreso: marzo-2010
Mensajes: 128
Antigüedad: 14 años, 1 mes
Puntos: 3
Respuesta: Sustituir saltos de lineas por comas en textarea

Gracias a los dos por responder tan rápido, usé el código de DeFFeR y todo me funcionó correctamente.


Un saludo a los dos y gracias de nuevo.

Etiquetas: comas, lineas, saltos, sustituir, textarea
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 21:56.