[Funcion para plugins] Covert BBcode to HTML By Edson
Hola amigos bueno creando la nueva version de titlethreads (le cambiare el nombre pronto jaja) tuve un problema al poner el mensaje en un popup!! El...

Hola amigos bueno creando la nueva version de titlethreads (le cambiare el nombre pronto jaja) tuve un problema al poner el mensaje en un popup!!

El problema era que ponia en bbcode todo y no lo mostraba como en el post porque tenia que ser html y despues de buscar y buscar alguna solucion no encontre mas que una funcion que no me funciono jaja y desidi editar la funcion (tarde u poco) pero quedo y ya funciona convierte el bbcode a html desde el plugin!!

Vengo postearla por si alguno de los que crean plugs aqui la llegaran a necesitar!!

aqui se las dejo

Código PHP:
class ConvertBBcodeToHTML {

    public function 
bbcode2html($cadena) {

        
define 'TITLE_DATA'' style="font-size:11px;color:#666;"' );
        
define 'BOX_STYLE'' style="border:1px solid #ccc;background:#f1f1f1;padding:5px;margin:2px;"' );
        
        
$bbcode [] = '!\[b\](.*)\[/b\]!Us';
    
$html [] = '<b>$1</b>';
    
$bbcode [] = '!\[u\](.*)\[/u\]!Us';
    
$html [] = '<u>$1</u>';   
    
$bbcode [] = '!\[i\](.*)\[/i\]!Us';
    
$html [] = '<i>$1</i>';    
    
$bbcode [] = '!\[s\](.*)\[/s\]!Us';
    
$html [] = '<s>$1</s>';   
    
$bbcode [] = '/\[br\]/iU';
    
$html [] = '<br />';  
    
$bbcode [] = '/\[font=(?:"|\')?([\w\s-]*)(?:"|\')?\](.*)\[\/font\]/is';
    
$html [] = '<span style="font-family:$1;">$2</span>';
    
$bbcode [] = '!\[size=(?:"|\')?([\w\s-]*)(?:"|\')?\](.*)\[\/size\]!Us';
    
$html [] = '<span style="font-size:$1px;">$2</span>'
    
$bbcode [] = '/\[url\](.*)\[\/url\]/i';
    
$html [] = '<a href="$1">$1</a>'
    
$bbcode [] = '!\[url=(?:"|\')?(.*)(?:"|\')?\](.*)\[/url\]!Us';
    
$html [] = '<a href="$1">$2</a>';  
    
$bbcode [] = '/\[quote\]/i';
    
$html [] = '<div' TITLE_DATA '>Cita:</div><blockquote' BOX_STYLE '>';
    
$bbcode [] = '/\[quote=(?:"|\')?([\w\s-]*)(?:"|\')?\]/is';
    
$html [] = '<div' TITLE_DATA '><b>$1</b> escribi&oacute;:</div><blockquote' BOX_STYLE '>';
    
$bbcode [] = '/\[\/quote\]/i';
    
$html [] = '</blockquote>';
    
$bbcode [] = '/\[color=(?:"|\')?(.*)(?:"|\')?\](.*)\[\/color\]/i';
    
$html [] = '<font color="$1">$2</font>';
    
$bbcode [] = '/\[img\](.*)\[\/img\]/i';
    
$html [] = '<img src="$1" />';
    
$bbcode [] = '/\[email\](.*)\[\/email\]/i';
    
$html [] = '<a href="mailto:$1">$1</a>';
    
$bbcode [] = '/\[email=(?:"|\')?(.*)(?:"|\')?\](.*)\[\/email\]/i';
    
$html [] = '<a href="mailto:$1">$2</a>';
    
$bbcode [] = '!\[list\](.*)\[\/list\]!Us';
    
$html [] = '<ul>$1</ul>';
    
$bbcode [] = '!\[list=1\](.*)\[\/list\]!Us';
    
$html [] = '<ol style="list-style-type:decimal">$1</ol>';
    
$bbcode [] = '!\[list=a\](.*)\[\/list\]!Us';
    
$html [] = '<ol style="list-style-type:lower-alpha">$1</ol>';
    
$bbcode [] = '/\[\*\](.*)/iU';
    
$html [] = '<li>$1 ';
    
$bbcode [] = '/\[code\](.*)\[\/code\]/ise';
    
$html [] = "'<div'.TITLE_DATA.'>Codigo:</div><div'.BOX_STYLE.'>'.highlight_string(trim(stripslashes('$1')),true).'</div>'"
    
$bbcode [] = '!\[align=(?:"|\')?(left|center|right){1}(?:"|\')?\](.*)\[\/align\]!Us';
    
$html [] = '<div style="text-align:$1;">$2</div>';
 
        
$cadena preg_replace ($bbcode$html$cadena );
        
$cadena nl2br($cadena);
        return 
$cadena;
    }


Diran que son simples remplaces pero bueno es batalloso
la funcion original es creada por Hidek1 pero yo la edite para que funcione en los plugins xD!!

Espero les sirva aca una demostracion de como el bbcode lo hace HTML y veran como va la nueva version!
Donde esta el nombre del tema a la derecha hay una imagen al dar click sobre ella aparece la info del primer post
http://www.myplugs.com.ar/forumdisplay.php?fid=2


Saludos!!
por supuesto que se posdria solo lo pasaria de una text area a otra!
Esta lo postie asi por si llegase homura o solstice a necesitar crear un archivo y capturar datos de la db y si se los muestra en bbcode automaticamente convertirlo Wink
pues en realidad si! logre adaptarlo aunque es verdad Bour para lo que pdies seria algo distinto y mas sencillo aunque yo recuerdo haberlo hecho en JS y con un script ya precreado >.<
:)