Foros del Web » Programando para Internet » PHP »

mostrar datos de un textarea respetando los enter

Estas en el tema de mostrar datos de un textarea respetando los enter en el foro de PHP en Foros del Web. Estimados, tengo un texarea en el cual al momento de pinchar el un boton submit me muestra los datos en otra pagina con el simpre ...
  #1 (permalink)  
Antiguo 13/04/2011, 08:44
 
Fecha de Ingreso: noviembre-2008
Mensajes: 112
Antigüedad: 15 años, 5 meses
Puntos: 1
mostrar datos de un textarea respetando los enter

Estimados,
tengo un texarea en el cual al momento de pinchar el un boton submit me muestra los datos en otra pagina con el simpre echo de llamarlos con POST ejem:

aqui mustra el textarea:
Código PHP:
Ver original
  1. <?php echo "$_POST[textarea]"?>

el problemilla surge que al momento de mostrar los datos, no respeta los ENTER o saltos de lineas que aprete en un principio en el textarea...
existira alguna forma que "reconosca" los enter de la primera pagina?

de antemano gracias
  #2 (permalink)  
Antiguo 13/04/2011, 08:47
Avatar de lair  
Fecha de Ingreso: enero-2009
Ubicación: header('Location: Morelia");
Mensajes: 1.052
Antigüedad: 15 años, 3 meses
Puntos: 46
Respuesta: mostrar datos de un textarea respetando los enter

Hola.

Usa algun editor tipo tinyMCE, y cuando la extraigas puedes ponerlo en un div

Suerte.
  #3 (permalink)  
Antiguo 13/04/2011, 10:57
 
Fecha de Ingreso: diciembre-2008
Mensajes: 190
Antigüedad: 15 años, 4 meses
Puntos: 6
Respuesta: mostrar datos de un textarea respetando los enter

Puedes poner
Código PHP:
 echo str_replace("\n","<br />",$_POST['textarea']); 
  #4 (permalink)  
Antiguo 13/04/2011, 11:00
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: mostrar datos de un textarea respetando los enter

Hola:

Lo más usado es nl2br, o una alternativa es meter el resultado en un tag "pre"

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 14/04/2011, 07:32
 
Fecha de Ingreso: noviembre-2008
Mensajes: 112
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: mostrar datos de un textarea respetando los enter

asi de facil?
MUCHAS GRACIAS!! Aunque las dos resultan, me quedo con la solucion de caricatos...
gracias de nuevo,

un saludo
  #6 (permalink)  
Antiguo 26/04/2011, 11:15
Avatar de Rafael
Modegráfico
 
Fecha de Ingreso: marzo-2003
Mensajes: 9.028
Antigüedad: 21 años, 1 mes
Puntos: 1826
Respuesta: mostrar datos de un textarea respetando los enter

Hola. Yo tengo una dudilla.
Cuando ocupo la función nl2br, al parecer este agrega el br, pero no sustituye el salto de linea. Me explico:

Código PHP:
Esto es
lo que se escribe en
un textarea

Meto este textarea en una variable.

$Texto

al usar $Texto = nl2br ($Texto);

el resultado es:
Código PHP:
Esto es<br>
lo que se escribe en<br>
un textarea
Pero necesito:
Código PHP:
Esto es<br>lo que se escribe en<br>un textarea
Ya que al exportar por ejemplo a excell, esos saltos de linea me afectan en los datos.
¿De plano mejor uso un str_replace?
  #7 (permalink)  
Antiguo 26/04/2011, 11:43
Avatar de Rafael
Modegráfico
 
Fecha de Ingreso: marzo-2003
Mensajes: 9.028
Antigüedad: 21 años, 1 mes
Puntos: 1826
Respuesta: mostrar datos de un textarea respetando los enter

Mm. Estoy probando esto
Código PHP:
<?php
$Mensaje 
"Esto es un ejemplo
de texto cortado"
;
 
$Mensaje str_replace("\n","<br />",$Mensaje);
 
echo 
$Mensaje;
?>
También con \n\r, con \r solito y sigue el salto de línea.
  #8 (permalink)  
Antiguo 26/04/2011, 11:52
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: mostrar datos de un textarea respetando los enter

Usa esto para borrar los saltos de linea y convertirlos en <br />

Código PHP:
Ver original
  1. $Mensaje = str_replace("
  2. ","<br />",$Mensaje);

asegurate de que la segunda linea este pegada al borde (o sea que no hayan espacios o tabs como este:

Código PHP:
Ver original
  1. $Mensaje = str_replace("
  2.    ","<br />",$Mensaje);
  #9 (permalink)  
Antiguo 26/04/2011, 13:23
Avatar de Rafael
Modegráfico
 
Fecha de Ingreso: marzo-2003
Mensajes: 9.028
Antigüedad: 21 años, 1 mes
Puntos: 1826
Respuesta: mostrar datos de un textarea respetando los enter

¡JA! ¡Que cosa tan ingeniosa!
¡Es la primera vez que veo que hay que ponerle un ejemplo al php en vez de ponerle un código!
  #10 (permalink)  
Antiguo 28/04/2011, 01:45
Avatar de Rafael
Modegráfico
 
Fecha de Ingreso: marzo-2003
Mensajes: 9.028
Antigüedad: 21 años, 1 mes
Puntos: 1826
Respuesta: mostrar datos de un textarea respetando los enter

Hola otra vez.
¡No funciona!
Bueno, en el otro ejemplo sí funciona. Pero no puedo hacer que funcione con un textarea.
Tengo un archivo Test.php con esto:
Código PHP:
<form name="FormaDeEnvio"
 action="Test.php"
 method="POST">
 
<textarea name="Mensaje" rows="7">
1
2
3</textarea>
<input type="submit">
 
</form>
 
<?php
$Mensaje 
$_POST["Mensaje"];
 
$Mensaje str_replace("
"
,"<br>",$Mensaje);
 
echo 
$Mensaje;
?>
Igual. Sí está "sustituyendo" por el <br>, pero el salto de línea ahí sigue...

Cita:
1
<br>2
<br>3
Editado: Probablemente tengo que sustituír el ascii del return o el &noseque;

Última edición por Rafael; 28/04/2011 a las 01:57
  #11 (permalink)  
Antiguo 28/04/2011, 01:59
(Desactivado)
 
Fecha de Ingreso: enero-2011
Mensajes: 293
Antigüedad: 13 años, 3 meses
Puntos: 4
Respuesta: mostrar datos de un textarea respetando los enter

eso se puede hacer con wrappre o algo asi , tambien existe un javascript pero con php es muy sencillo si no lo as resuelto luego te lo paso.
  #12 (permalink)  
Antiguo 28/04/2011, 02:08
Avatar de Rafael
Modegráfico
 
Fecha de Ingreso: marzo-2003
Mensajes: 9.028
Antigüedad: 21 años, 1 mes
Puntos: 1826
Respuesta: mostrar datos de un textarea respetando los enter

Pues sí, lo necesito resolver con php. Eso de "wrappre" no entiendo que sea.
  #13 (permalink)  
Antiguo 28/04/2011, 06:37
(Desactivado)
 
Fecha de Ingreso: enero-2011
Mensajes: 293
Antigüedad: 13 años, 3 meses
Puntos: 4
Respuesta: mostrar datos de un textarea respetando los enter

Ahh aqui lo tengo el nombre es muy raro me lo paso el gafotas de abimalerc ase un tiempo toma... :


se llama wordwrap
Código PHP:

echo  ucfirst(strtolower(wordwrap($res_comentario['comentario'], 63"\n"true))); 
  #14 (permalink)  
Antiguo 28/04/2011, 06:45
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: mostrar datos de un textarea respetando los enter

@Rafael, otro que se está convirtiendo en PHPERO trata algo así
Código PHP:
Ver original
  1. <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
  2. <textarea name="mensaje" rows="7">
  3. 1
  4. 2
  5. 3
  6. </textarea>
  7. <input type="submit">
  8. </form>
  9.  
  10. <?php
  11. if(array_key_exists('mensaje', $_POST)){
  12.     $mensaje = $_POST["mensaje"];
  13.      
  14.     $mensaje = str_replace(PHP_EOL,'',nl2br($mensaje));
  15.     echo $mensaje;
  16. }
  17. ?>
Con PHP_EOL dejas que PHP se encargue de eliminar el salto de línea que se forma a causa del sistema operativo que está del lado del servidor, que fue quien lo creó. En algunos es \r en otros \n y en otros \r\n y con eso (PHP_EOL) lo dejas que PHP indique el que le corresponde.

Edito: Que me habrá querido decir con gafotas
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Última edición por abimaelrc; 28/04/2011 a las 06:56 Razón: me dijeron gafotas :serio:
  #15 (permalink)  
Antiguo 28/04/2011, 08:05
Avatar de Rafael
Modegráfico
 
Fecha de Ingreso: marzo-2003
Mensajes: 9.028
Antigüedad: 21 años, 1 mes
Puntos: 1826
Respuesta: mostrar datos de un textarea respetando los enter

Grax Abimael. Lo pruebo.

Lo de gafotas supongo que es por estudioso del tema. Creo que es un cumplido.

Yooom, gracias por el interes también.

Etiquetas: enter, 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 16:41.