El problema llega cuando dentro de la etiqueta [ php ] pones <? y ?> al enviar el articulo te salen como <? ?> 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; $i< count($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&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ó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;
// }
?>
Espero que me puedan ayudar
Gracias
Me tienen que decir que parte de la linea hace que pase esto para asi editarla. Gracias ;)