Foros del Web » Programando para Internet » PHP »

No me toma los saltos de lineas (exreg)

Estas en el tema de No me toma los saltos de lineas (exreg) en el foro de PHP en Foros del Web. Hola gente: Hice este codigo con la ayuda de algunos post de aqui: Código PHP:    function  BBcode ( $texto ) {       $_BBcode  = array(         ...
  #1 (permalink)  
Antiguo 13/06/2005, 16:25
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 21 años
Puntos: 2
No me toma los saltos de lineas (exreg)

Hola gente:

Hice este codigo con la ayuda de algunos post de aqui:
Código PHP:
  function BBcode($texto) { 
    
$_BBcode = array( 
      
'\r' => '<br>',
      
'[b]' => '<strong>'
      
'[/b]' => '</strong>'
      
'[i]' => '<em>',
      
'[/i]' => '</em>',
      
'[u]' => '<u>',
      
'[/u]' => '</u>',
      
'[center]' => '<p align="center">',
      
'[/center]' => '</p>',
      
'[left]' => '<p align="left">',
      
'[/left]' => '</p>',
      
'[right]' => '<p align="right">',
      
'[/right]' => '</p>',
      
'[justify]' => '<p align="justify">',
      
'[/justify]' => '</p>'
    
); 

    
$tips array_keys($_BBcode);
    
$finaltext str_replace($tips,$_BBcode$texto); 
    
$finaltext str_replace("\r","<br>"$finaltext);
    
$finaltext nl2br($finaltext);
    
$finaltext preg_replace("`\[url\s*=\s*(.*)?\](.*?)\[/url\]`is"'<a href="$1">$2</a>'$finaltext);
    
$finaltext preg_replace("`\[img\s*=\s*(.*)?align=\s*(.*)?\](.*?)\[/img\]`is"'<div align="$2"><table id="new_table_img" align="$2"><tr><td valign="top" style="padding-left:3;padding-right:3;padding-$2:-3;"><img src="$1" alt="$3" /></td></tr></table></div>'$finaltext);
    
    return 
$finaltext;

El tema es que ahora no me toma los saltos de linea, seguramente es un problema de las expresiones regulares que uso, pero no se mucho sobre ellas y por eso no se como solucionar el error...

Saludos
__________________
I Love Programming...
  #2 (permalink)  
Antiguo 13/06/2005, 16:30
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años
Puntos: 35
loading..........


reemplaza

'\r' por '\r\n'



connection closed.
__________________

Maborak Technologies
  #3 (permalink)  
Antiguo 13/06/2005, 16:39
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 21 años
Puntos: 2
Ya habia probado de esa forma, no funciona...

El tema es que las expresiones regulares que tengo (para links e imagenes) como que "borran" todas las \ o algo así...

si en el textarea escribo:

Código:
hola
\r
salto de linea
"con el \r puesto por mi" En el archivo veo:
Código:
hola\
salto de linea
No se que hace con las \...
__________________
I Love Programming...
  #4 (permalink)  
Antiguo 13/06/2005, 20:11
 
Fecha de Ingreso: junio-2005
Mensajes: 15
Antigüedad: 18 años, 10 meses
Puntos: 0
Pues yo probe tu funcion y con:
echo BBcode("hola\n <b> mi </b> amigo \rfiel");
tengo una salida limpia.

El asunto va, como dijo MaBoRak,en los retornos:
en Unix el final de linea es: \n
y en windows sera: \r\n

pero espero que te sirva de algo saber que tu funcion esta bien ya que me funciono, estoy en maquina linux.
  #5 (permalink)  
Antiguo 14/06/2005, 06:12
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 21 años
Puntos: 2
Bueno.. no me maten pero el error era super estupido :(

Como estoy recien haciendo el panel y todo eso habia hecho un porpup para las previews y pasaba las variables por GET, se ve que no le llegaban los \r =P, ahora con POST funciona bien...

Perdon por molestarlos con semejante estupides.
__________________
I Love Programming...
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 18:48.