Te estas liando en vano, el sistema original funciona, ha sido probado y funciona
http://www.php-hispano.net/archivos/Manuales/126
hay una correcion de Omar amigo Reynier
Omar dice :
Hay un error en la funcion phpcojecolor. Por favor cambiar la funcion por esta nueva. Ahora dejara lineas el codigo que antes no dejaba. Recuerda que si vas añádir un mensaje usando una form usas la funcion nl2br y cambiara las lineas por <br /> y podra mostrar el codigo dejando espacios.
Código PHP:
<?
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
// A continuación hemos hecho uso de una función realizada por Anonimo y que copié de la web [url]www.pastebin.com[/url]. Sirve para mostrar información sobre las funciones... [Proximas 7 lineas]
$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
}
?>
Wave69 dice :
pues yo lo hago asi:
Código PHP:
<?
// colorea texto y traduce BBcode.
function trata_texto($texto) {
$texto = corta_palabras($texto) ;
$texto = str_replace("[codigo]", "[codigo][CODIGO]", $texto) ;
$texto = str_replace("[/codigo]", "[/CODIGO][/codigo]", $texto) ;
$texto = split("\[CODIGO\]|\[\/CODIGO\]", $texto) ;
for($i = 0; $i < count($texto); $i++) {
ob_start() ;
@highlight_string($texto[$i]) ;
$texto[$i] = ob_get_contents() ;
ob_end_clean() ;
$texto[$i] = substr($texto[$i], 28, -15) ;
}
$texto = implode("",$texto) ;
$busca[0] = "/\[url=([^<> \n]+?)\](.+?)\[\/url\]/i" ;
$reemplaza[0] = "<a href=\"\\1\" target=\"_blank\">\\2</a>" ;
$busca[1] = "/\[b\](.+?)\[\/b\]/s" ;
$reemplaza[1] = "<b>\\1</b>" ;
$busca[2] = "/\[i\](.+?)\[\/i\]/s" ;
$reemplaza[2] = "<i>\\1</i>" ;
$busca[3] = "/\[u\](.+?)\[\/u\]/s" ;
$reemplaza[3] = "<u>\\1</u>" ;
$busca[4] = "/\[s\](.+?)\[\/s\]/s" ;
$reemplaza[4] = "<s>\\1</s>" ;
$busca[5] = "/\[cita\](.+?)\[\/cita\]/s" ;
$reemplaza[5] = "<table align=\"center\" class=\"cita\"><tr><td>\\1</td></tr></table>" ;
$busca[6] = "/\[codigo\](.+?)\[\/codigo\]/s" ;
$reemplaza[6] = "<table align=\"center\" class=\"codigo\"><tr><td>\\1</td></tr></table>" ;
$busca[7] = "/\[img\](.+?)\[\/img\]/s" ;
$reemplaza[7] = "<a href=\"\\1\" target=\"_blank\"><img border=\"0\" src=\"\\1\" alt=\"\\1\"></a>" ;
$texto = @preg_replace($busca, $reemplaza, $texto);
return $texto ;
}
?>