Foros del Web » Programando para Internet » Javascript »

Ayuda con saltos de linea..

Estas en el tema de Ayuda con saltos de linea.. en el foro de Javascript en Foros del Web. Hola! Amigos, estoy creando un Sistema de Comentarios. El cual tiene la opción de Quotear otros mensajes. Al hacer clic en esa opción se llama ...
  #1 (permalink)  
Antiguo 01/03/2006, 18:14
 
Fecha de Ingreso: febrero-2006
Mensajes: 60
Antigüedad: 18 años, 3 meses
Puntos: 0
Ayuda con saltos de linea..

Hola!

Amigos, estoy creando un Sistema de Comentarios. El cual tiene la opción de Quotear otros mensajes. Al hacer clic en esa opción se llama a la siguiente función:

Código HTML:
function quote(texto, por, fecha){
	abierto = '[quote][b]'+por+' @ Escrito el '+fecha+'[/b]\n'
	cerrado = '\n[/quote]\n'
document.comentario.mensaje.value = document.comentario.mensaje.value + (abierto + texto + cerrado);
location.href='#comentario';
}
El problema es con los saltos de linea de los comentarios.

Digamos que esto es un comentario:

Cita:
Hola, como estan?

Esto es un comentario de prueba.

Nos vemos, adios!
Ese comentario se enviaria asi:

Código HTML:
javascript:quote('Hola, como estan?Esto es un comentario de prueba.Nos vemos, adios!', 'Nick', 'Fecha')
No se si a alguien se le ocurre como respetar los saltos de linea del comentario. Por que al hacer clic, me rellena el formulario con el quote, pero sin los saltos de linea.

Gracias!
  #2 (permalink)  
Antiguo 02/03/2006, 04:35
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Hola buenas,

el tema es que tal y como le llega la cadena a javascript no sabe si habían o no saltos de línea inicialmente. Deberías asignar los saltos en el momento de escribir el texto a quotar, usando \n para cada salto de línea de forma que te quedara algo asi

Código:
quote('Hola, como estan?\nEsto es un comentario de prueba.\nNos vemos, adios!', 'Nick', 'Fecha')
Como supongo que eso lo escribes de forma dinámica desde una base de datos deberías substituír esos saltos por los \n en el momento de escribir el parámetro en la llamada a la función javascript.

Por ejemplo, si lo estás haciendo con php prueba este ejemplo...

Código:
<?php
$texto = "Hola, como estan?
Esto es un comentario de prueba.
Nos vemos, adios!";
$texto2 = str_replace(chr(13),'\n',$texto);
$texto2 = str_replace(chr(10),'',$texto2);
?>
Y luego en la llamada a la función ...

Código:
quote('<?php echo $texto2; ?>', 'Nick', 'Fecha')
Yá me contarás.

Un saludo
  #3 (permalink)  
Antiguo 02/03/2006, 23:28
 
Fecha de Ingreso: febrero-2006
Mensajes: 60
Antigüedad: 18 años, 3 meses
Puntos: 0
Me guie por el ejemplo y hice esto

Código PHP:
    $quote nl2br($row[comentario]);
    
$quote str_replace('<br />','\n',$quote
  #4 (permalink)  
Antiguo 03/03/2006, 01:10
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Estupendo
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 23:50.