Ver Mensaje Individual
  #3 (permalink)  
Antiguo 23/09/2010, 07:56
Avatar de repara2
repara2
 
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 8 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 ?>