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í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> </td>
<td><label>
<input type="submit" name="Submit" value="Enviar" />
</label></td>
</tr>
</table>
</form>
</body>
</html>
<?php } ?>