Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/05/2009, 16:01
Avatar de fcdragons
fcdragons
 
Fecha de Ingreso: agosto-2008
Ubicación: echo $_REQUEST['ubicacion'];
Mensajes: 474
Antigüedad: 15 años, 8 meses
Puntos: 13
Pregunta [arreglado]Hay una cosa en este codigo que hace que se muestre mal el <?

Hola, tengo un sistema de noticias que tiene bbcodes

El problema llega cuando dentro de la etiqueta [ php ] pones <? y ?> al enviar el articulo te salen como &lt;? ?&gt; cuando tendria que salir asi: <? ?> pero sin hacer funcion ni nada

este es el codigo de los bbcodes :S
Código PHP:
<?php 

function bbcodes ($text) { 
    
    
$finaltext eregi_replace("\\[web=([^\\[]*)\\]([^\\[]*)\\[/web\\]""<a target=\"_blank\" href=\"\\1\">\\2</a>"$text); 

    
    
$finaltext eregi_replace("\\[web\\]([^\\[]*)\\[/web\\]","<a target=\"_blank\" href=\"\\1\">\\1</a>",$finaltext); 

    
    while(
$bucle 5) { 
        
        
$finaltext eregi_replace("\\[u\\]([^\\[]*)\\[/u\\]","<u>\\1</u>"$finaltext); 

        
        
$finaltext eregi_replace("\\[i\\]([^\\[]*)\\[/i\\]","<em>\\1</em>"$finaltext); 

        
        
$finaltext eregi_replace("\\[b\\]([^\\[]*)\\[/b\\]","<strong>\\1</strong>"$finaltext); 

        
$bucle++; 
    } 

    
    
$finaltext eregi_replace("\\[center\\]([^\\[]*)\\[/center\\]","<center>\\1</center>"$finaltext); 

     
    
$finaltext eregi_replace("\\[cita\\]([^\\[]*)\\[/cita\\]","\n<div class=\"css_title\">Cita\n<div class=\"css\">\\1</div></div>"$finaltext); 

     
    
preg_match_all ("/(\[)(php)(])(.*)(\[\/php\])/iU"$finaltext$l); 
    for (
$i=0$icount($l[0]); $i++) { $finaltext str_replace($l[0][$i],phpcojecolor($l[4][$i]),$finaltext); } 

    
// Retorno como queda el bbcode. 
    
return $finaltext


function 
phpcojecolor ($php) {
        
// Remplaza los <br \> por lineas.
        
$php str_replace("<br \>","\n",$php);

        
ob_start(); // Abirmos el OB
        
highlight_string($php); // Tiramos el codigo coloreado
        
$cfinal ob_get_contents(); // COjo el codigo que tire despues de haber abierto el ob
        
ob_end_clean(); // Borro el ob para que no se vea en la web

        
$keycol=ini_get("highlight.keyword"); 
        
$manual="http://www.php.net/manual-lookup.php?lang=es&amp;pattern=";

        
$cfinal=preg_replace
            
'{([\w_]+)(\s*</font>)'
            
'(\s*<font\s+color="'.$keycol.'">\s*\()}m',  
            
'<a href="'.$manual.'$1" title="Ayuda en PHP.net sobre $1" target="_blank">$1</a>$2$3',
        
$cfinal); 

        return 
"\n<div class=\"css_title\">C&oacute;digo PHP:\n<div class=\"css\">".$cfinal."</div></div>"// Retorno el codigo PHP Coloreado
}
// Debes poner la siguiente clase en tu hoja de estilos o en su defecto en tu código html. 
// Estas clases es para que funciones lo de las citas y lo de mostrar codigo PHP :D 
// .css_title { 
//     margin: 10px 5px 10px 15px; 
//     font-size: 10px; 
//     width: 90%; 
//      
// } 
// .css { 
//     background: #DCDCDC;     
//     border: 1px solid #8FB1EE; 
//     border-left: 7px solid #8FB1EE; 
//     font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; 
//     font-size: 11px; 
//     color: #000000; 
//     padding: 5px; 
//     width: 90%; 
//     margin: 0px; 
// } 

?>
Quiza deba cambiar de codigo :(

Espero que me puedan ayudar
Gracias
Me tienen que decir que parte de la linea hace que pase esto para asi editarla. Gracias ;)
__________________
SumarioWeb
@sumarioweb
BasicNews

Última edición por fcdragons; 03/05/2009 a las 13:01