Ver Mensaje Individual
  #7 (permalink)  
Antiguo 09/06/2004, 12:42
Avatar de Reynier
Reynier
 
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 5 meses
Puntos: 1
Pues mira

Ya he revisado todo el código y ahora me funciona en parte. Les explico para que entiendan. Este es el código después que me lo he estudiado y lo he arreglado:
Código PHP:
function BBCode($text){
  
$bbcode str_replace("[b]""<strong>",$text);
  
$bbcode str_replace("[/b]""</strong>",$bbcode);
  
$bbcode str_replace("[u]""<u>",$bbcode);
  
$bbcode str_replace("[/u]""</u>",$bbcode);
  
$bbcode str_replace("[i]""<i>",$bbcode);
  
$bbcode str_replace("[/i]""</i>",$bbcode);
  
$bbcode str_replace("[center]""<div align='center'>",$bbcode);
  
$bbcode str_replace("[/center]""</div>",$bbcode);
  
$bbcode str_replace("[left]""<div align='left'>",$bbcode);
  
$bbcode str_replace("[/left]""</div>",$bbcode);
  
$bbcode str_replace("[right]""<div align='right'>",$bbcode);
  
$bbcode str_replace("[/right]""</div>",$bbcode);
  
$bbcode str_replace("[justify]""<div align='justify'>",$bbcode);
  
$bbcode str_replace("[/justify]""</div>",$bbcode);
  
$bbcode str_replace("[cita]""\n<div class='css_title'>Cita: <div class='css'>",$bbcode);
  
$bbcode str_replace("[/cita]""</div></div>",$bbcode);
  
$bbcode str_replace("[url]","<a href='' target='_blank'>'"$bbcode);
  
$bbcode str_replace("[/url]","</a>'"$bbcode);

  
$bbcode eregi_replace('([[:space:]()[{}])([url]www.[-a-zA-Z0-9@:%_+.~#?&//=]+[/url])''\1<a href="http://\2" target="_blank">\2</a>'$bbcode);
  
$bbcode eregi_replace('([_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,4})','<a href=\"mailto:\1\">\1</a>'$bbcode);

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

 
# Función para código PHP
 
function PHPFormat($php) {
  
$php str_replace("<br \>","\n",$php);
  
ob_start();
  
highlight_string($php);
  
$cfinal ob_get_contents();
  
ob_end_clean();
  
$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 
"<div class='ccs_title'>Código PHP:<div class='css'>".$cfinal."</div></div>";
 } 
ahora bien. Estos son los dos textos que estoy tratando de mostrar:
Cita:
[ i ]Te[ /i ] podrías explicar un poco mejor pues no entiendo muy bien a que te refieres con esto:
esto implica que la tabla tendria entoces una fila menos
Salu2
[ url ]http://www.forosdelweb.com[ /url ]
[ PHP ]<? function ReturnDate(){ $date = date("Y"); return $date; } ?> [/PHP ]
y este el otro
Cita:
Hola:
[ b ]Primero[ /b ] que todo [ b ]gracias[ /b ] por lo de la actualizacion me pincho de lo mejor.Ahora suponiendo que lo que esta en ese campo lo quiero borrar (esto implica que la tabla tendria entoces una fila menos) por la misma via de la actualizacion lo que en este caso palabra_a_cambiar seria palabra_a_borrar que conyeva a lo anterior [ u ]dicho[ /u ].
[ url ]http://www.php.net[ /url ]
Gracias de ante mano
[ PHP ]
<?
function ReturnData(){
return $this->Data();
}
?>
[ /PHP ]
a los dos le hago la llamada de esta forma:
Código PHP:
  $cadena nl2br($fetch['text']);
  
$formattext BBCode($cadena); 
con el primero solo da formato al código PHP siempre y cuando este no tenga saltos de línea, por lo que no me coje las italicas o subrayadas o otros. Con el segundo no me formatea la URL ni el código PHP porque el mismo tiene saltos de línea. Que hago mal?

Salu2
__________________
Ing. Reynier Pérez Mira