Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/07/2005, 17:52
Avatar de ZydRick
ZydRick
 
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 19 años, 2 meses
Puntos: 4
porke sucede esto ?

pues veran estoy programando un sistema de envio de tutoriales y tengo un par de funciones, una para el BBCode y otra para colorear el codigo PHP:

Código PHP:
<?
function bbcode ($texto) {
$texto eregi_replace("\\[url=([^\\[]*)\\]([^\\[]*)\\[/url\\]""<a target=\"_blank\" href=\"\\1\">\\2</a>"$texto);
$texto eregi_replace("\\[url\\]([^\\[]*)\\[/url\\]","<a target=\"_blank\" href=\"\\1\">\\1</a>",$texto);
$i=0;
while(
$i 3) {
$texto eregi_replace("\\[u\\]([^\\[]*)\\[/u\\]","<u>\\1</u>"$texto);
$texto eregi_replace("\\[i\\]([^\\[]*)\\[/i\\]","<em>\\1</em>"$texto);
$texto eregi_replace("\\[b\\]([^\\[]*)\\[/b\\]","<strong>\\1</strong>"$texto);
$texto eregi_replace("\\[center\\]([^\\[]*)\\[/center\\]","<center>\\1</center>"$texto);
$texto eregi_replace("\\[color=((#)?[0-9a-z]+)\\]([^\\[]*)\\[/color\\]","<font color=\"\\1\">\\1</font>",$texto);
$texto eregi_replace("\\[img\\]([^\\[]*)\\[/img\\]","<img src=\"\\1\" border=\"0\"\\1 />",$texto);
$texto eregi_replace("\\[cita\\]([^\\[]*)\\[/cita\\]","\n<div class=\"css_title\">Cita\n<div class=\"css\">\\1</div></div>"$texto);
$i++;
}
return 
$texto;

}
function 
codigo($texto){
if(
strstr($texto,"[ php]")) {
$partes explode("[ php]",$texto) ;
$total count($partes) ;
for(
$a $a $total $a++) {
$posicion strpos($partes[$a],"[ /php]") ;
if(
strstr($partes[$a],"[ /php]")) {
$codigo substr($partes[$a],0,$posicion) ;
$codigo html_entity_decode($codigo) ;
$coloreado highlight_string($codigo,true) ;
$coloreado str_replace("\r<br />","<br>",$coloreado) ;
$coloreado "<table border=0 cellspacing=1 style=border-collapse: collapse bordercolor=#000000 width=100%><tr><td width=100% style=\"border: 1px solid #000000\" bgcolor=#ffffff><font face=courier new style='font-size:11px;'>$coloreado</td></tr></table>" ;
$normal substr($partes[$a],$posicion+9) ;
$partes[$a] = "$coloreado$normal" ;
}
}
$texto implode("",$partes) ;
}
return 
$texto;
}
?>
ahora bien cuando envio un tutorial desde el formulario para guardarlo uso la funcion nl2br() para respetar los saltos de linea, pero al mostrar el tutorial los saltos de linea del texto normal estan bien, el problema llega cuando junto con el texto simple tb se envia codigo PHP, pasa ke despues de cada salto muestra la etiketa "<br />" ke al parecer la toma de la BD pk asi lo he pillao en el PHPMyAdmin, les dejo una captura de pantalla de las pruebas ke hago para ke vean mi problema:



espero me puedan ayudar a dar solucion a esta bronca

Un saludo

PD. he dajado espacios [ php] y [ /php] para no hacer conflicto con el bbcode de este foro