Foros del Web » Programando para Internet » PHP »

Formato de texto en textarea

Estas en el tema de Formato de texto en textarea en el foro de PHP en Foros del Web. Hola. En una tabla tengo la variable $programa que recoge lo que se escribe en un campo textarea de un formulario. Hago la consulta a ...
  #1 (permalink)  
Antiguo 23/12/2004, 02:55
 
Fecha de Ingreso: mayo-2004
Mensajes: 393
Antigüedad: 19 años, 11 meses
Puntos: 0
Formato de texto en textarea

Hola.

En una tabla tengo la variable $programa que recoge lo que se escribe en un campo textarea de un formulario.

Hago la consulta a la bd para llamar a $programa (y otras variables), que me llegan bien a la página verdatos.php

Luego la envío a la página modifica.php haciendo:
<a href=\"modifica.php?programa=$progama\">Modificar</a>

En esta página inserto el valor de $programa en un textarea

<TEXTAREA cols=\"100\" rows=\"8\" name=\"program\">$program</textarea>

Y me muestra el valor de $program en texto plano.

Este es el texto que quiero formatear, de modo que aparezca tal como fue escrito inicialmente.

He probado de poner en verdatos.php

$programa = nl2br($row[programa]);

y lo que me muestra en modifica.php es el texto bien , pero en donde había un salto de línea me pone <br />.

He pensado que poniendo en modifica.php

$programa=str_replace("br /","br",$programa); me formatearía, pero lo que hace es cambiar <br /> por <br>.

La verdad es que no sé por donde he de ir porque en otras partes de la web
pongo $programa = nl2br($row[programa]); y le sale el texto formateado. La diferencia es que donde sale bien son campos normales y no textarea.

¿Me podéis ayudar?. He buscado en las faqs y no he encontrado lo que busco.

Gracias.
  #2 (permalink)  
Antiguo 23/12/2004, 03:31
 
Fecha de Ingreso: septiembre-2004
Ubicación: Viviendo en Manresa(Barcelona)
Mensajes: 230
Antigüedad: 19 años, 6 meses
Puntos: 0
Y porque en vez de enviarla por url, ya que entre canvio de script y script no realizas ninguna modificacion, en modifica.php vuelves a extraerla de la bd? Puede que asi te vaya bien.
  #3 (permalink)  
Antiguo 23/12/2004, 04:59
 
Fecha de Ingreso: mayo-2004
Mensajes: 393
Antigüedad: 19 años, 11 meses
Puntos: 0
Solucionao.

Gracias, Shute, pero al final era sólo poner
$programa = str_replace("<br />","\n",$programa);
en lugar de
$programa=str_replace("br /","br",$programa);
  #4 (permalink)  
Antiguo 21/01/2005, 18:32
 
Fecha de Ingreso: mayo-2004
Mensajes: 400
Antigüedad: 19 años, 11 meses
Puntos: 0
Hola yo tengo un problema similar, pero como no se mucho de php no se como aplicarlo, veamos tengo un formulario que rcoge preguntas con respuestas y las guarda en 2 campos de la tabla en mysql, luego lo muestro al pulsar sobre la pregunta, el problema es que la pagina que muestra la pregunta junto con la respuesta, me muestra la respuesta en texto plano tal cual como esta en el campo de la base de datos, yo lo que quiero es que me lo muestre con saltos de linea y demas, como puedo hacerlo?.
Este es el codigo que muestra la información

Código PHP:
$tmp=mysql_query("SELECT question, answer FROM ".C_MYSQL_FAQ." WHERE id='".$id."'");
while($i=mysql_fetch_array($tmp)) {

?>
<center><br><center><span class=dat><?=$w[163]?></span></center><br>
<Table CellSpacing="<?=C_BORDER?>" CellPadding="0" width="<?=C_WIN_WIDTH-10?>" bgcolor="<?=C_TBCOLOR?>"><Tr><Td width="<?=C_WIN_WIDTH-10?>" bgcolor="<?=COLOR1?>" valign="top">
<Table Border=0 CellSpacing="<?=C_IBORDER?>" CellPadding="<?=C_CELLP?>" width="<?=C_WIN_WIDTH-10?>" class=mes>
<Tr><Td bgcolor="<?=C_TBCOLOR?>"></Td></Tr>
<Tr bgcolor="#FD7A06"><Td>
<?=$i['question']?>
</Td></Tr>
<Tr bgcolor="<?=COLOR5?>"><Td>
<?=$i['answer']?>
</Td></Tr></Table></Td></Tr></Table><br></center>
yo lo que quiero es que en answer me muestre el contenido con saltos d linea y demas.
Un saludo
  #5 (permalink)  
Antiguo 21/01/2005, 22:23
Avatar de pov
pov
 
Fecha de Ingreso: abril-2004
Ubicación: Argentina
Mensajes: 8
Antigüedad: 19 años, 11 meses
Puntos: 0
Cuando lo guardo en la base de datos, con que funcion le saco los saltos de linea que pueda haber ingresado el usuario. Gracias!!
Yo creo que al momento de guardarlo habria que sacarle para luego volver a ingresarle los caracteres html.
Saludos!
  #6 (permalink)  
Antiguo 21/01/2005, 22:34
 
Fecha de Ingreso: diciembre-2003
Mensajes: 1.583
Antigüedad: 20 años, 3 meses
Puntos: 13
Pakillo, cuando recoges la respuesta desde la base de datos y quieres que aparezcan los saltos de linea que ingresó el usuario usa la funcion nl2br()

<?=nl2br($i['answer'])?>
__________________
El conocimiento es libre: Movimiento por la Devolución
  #7 (permalink)  
Antiguo 22/01/2005, 08:09
 
Fecha de Ingreso: mayo-2004
Mensajes: 400
Antigüedad: 19 años, 11 meses
Puntos: 0
Gracias frijolerou funciona muy bien, imagino que para viñetas y cosas asi sera un poco mas complicado no?
Gracias por tu ayuda, un saludo.
  #8 (permalink)  
Antiguo 22/01/2005, 09:56
 
Fecha de Ingreso: diciembre-2003
Mensajes: 1.583
Antigüedad: 20 años, 3 meses
Puntos: 13
En el caso de que el usuario quisiera meter en el textarea una lista con viñetas tendría que hacerlo formateando el mismo el texto con las etiquetas html correspondientes (UL, OL, LI). En la base de datos quedaria guardado el texto junto alas etiquetas html, y luego cuando recoges la info, al imprimir los datos en pantalla automaticamente se interpretarian los tags html y mostraria ese texto como una lista con viñetas (salvo que ocupes alguna funcion como htmlentities() o strip_tags() para anular los tags html).

¿A eso te referias?
__________________
El conocimiento es libre: Movimiento por la Devolución
  #9 (permalink)  
Antiguo 22/01/2005, 10:10
 
Fecha de Ingreso: mayo-2004
Mensajes: 400
Antigüedad: 19 años, 11 meses
Puntos: 0
si a eso, muchas gracias
  #10 (permalink)  
Antiguo 22/01/2005, 21:16
Avatar de pov
pov
 
Fecha de Ingreso: abril-2004
Ubicación: Argentina
Mensajes: 8
Antigüedad: 19 años, 11 meses
Puntos: 0
Muchas Gracias a todos, con todo lo que escribiron aqui me ayudaron a solucionar un problema que tenia al recuperar un textarea, Saludos!!!1
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 22:00.