Foros del Web » Programando para Internet » PHP »

Ayuda con nl2br()

Estas en el tema de Ayuda con nl2br() en el foro de PHP en Foros del Web. Hola a todos Paso a explicar cómo debería ser el funcionamiento correcto del siguiente código: básicamente es la lectura del contenido de un archivo txt ...
  #1 (permalink)  
Antiguo 24/04/2008, 21:57
Ktulu
Invitado
 
Mensajes: n/a
Puntos:
Ayuda con nl2br()

Hola a todos
Paso a explicar cómo debería ser el funcionamiento correcto del siguiente código: básicamente es la lectura del contenido de un archivo txt mediante PHP, lo que hice fue nombrar los archivos txt como dia-mes.txt (Ej: 25-Abril.txt) para que los mismos varien dependiendo de la fecha actual del servidor, si bien hay un poco de js entre medio no creo q tenga algo que ver con el problema en si.
Al grano: no encuentro manera de reemplazar los saltos de línea del txt mediante nl2br() ya que obtengo el error "constante de cadena sin terminar".
Pego el código obviando líneas innecesarias:

Código PHP:
/*Obtengo fecha del servidor*/
$num_dia date("j");
$mes_num date("n");
$mes = array( 01 => "Enero"02 => "Febrero"03 => "Marzo"04 => "Abril"05 => "Mayo"06 => "Junio"07 => "Julio"08 => "Agosto"09 => "Septiembre"10 => "Octubre"11 => "Noviembre"12 => "Diciembre");
$mont=$mes[$mes_num];
/*Capturo contenido del txt*/
$fd file_get_contents("http://********.com.ar/******/".$num_dia."-".$mont.".txt""r");

/* ---- Posible problema ? -------*/
$moescroll_text str_replace("'""& # 039;"$fd);
.
.
.
.
/*imprimo contenido*/
<script language="JavaScript1.2"
.
scrollercontent$uniqueid='$moescroll_text';
.
</script> 
Aclaro que funciona perfectamente siempre y cuando se trate de un txt sin saltos de línea. Pero ponga donde ponga el nl2br() no consigo ula solucion.
Chas Gracias
Luciano
  #2 (permalink)  
Antiguo 24/04/2008, 22:15
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Ayuda con nl2br()

Hola ktulu,

Tu problema es 100% de JavaScript y lo que tienes que hacer es no usar nl2br, si no reemplazar el \n por un \n para que JavaScript lo vea como una nueva linea, prueba hacer algo así:
Código PHP:
$moescroll_text str_replace("\n""\\\n"$fd); 
Saludos.
  #3 (permalink)  
Antiguo 24/04/2008, 22:43
Ktulu
Invitado
 
Mensajes: n/a
Puntos:
Re: Ayuda con nl2br()

Efectivamente... estabas un 99% en lo correcto
el 1% es porque en lugar de
Código PHP:
$moescroll_text str_replace("\n""\\\n"$fd); 
puse
Código PHP:
$moescroll_text str_replace("\r\n""<br>"$fd); 
supongo que \r\n es porque el servidor corre bajo linux (algo que lei por el foro) y <br> fue de pura casualidad con prueba y error
1000 gracias

Ya que estamos en el tema aprovecho para una preguntita más: la linea
Código PHP:
$moescroll_text str_replace("'""& # 039;"$fd); 
supongo que alguna funcion debería tener en el script original, ahora bien, cómo puedo unir esas 2 condiciones del str_replace ? Tengo que usar una nueva variable? como por ejemplo:
Código PHP:
$moescroll_text_2 str_replace("'""& # 039;"$moescroll_text); 
supongo que existirá una manera mas prolija.
Gracias de nuevo
  #4 (permalink)  
Antiguo 25/04/2008, 08:42
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Ayuda con nl2br()

El caracter #039, creo es una comilla, así que en lugar de usar eso, puedes usar addslashes.

Saludos.
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 12:36.