Tema: Ayuda BBCODE
Ver Mensaje Individual
  #9 (permalink)  
Antiguo 28/09/2010, 21:47
Avatar de YoGeekOnline
YoGeekOnline
 
Fecha de Ingreso: septiembre-2010
Mensajes: 97
Antigüedad: 13 años, 7 meses
Puntos: 12
Respuesta: Ayuda BBCODE

Cita:
Iniciado por Algrox Ver Mensaje
Asi es amigo, quiero remplazar un codigo dentro de wordpress

Ya tengo el codigo :)

Código PHP:
add_filter('the_content','bbcode',1,1);
add_filter('comment_text','bbcode',1,1);
add_filter('the_excerpt','bbcode',1,1);

// Remove BBCode from these.
add_filter('comment_text_rss','bbcode_strip',1,1);
add_filter('the_excerpt_rss','bbcode_strip',1,1);
add_filter('the_content_rss','bbcode_strip',1,1);

function 
bbcode($content)
{
    
/* Supported codes:
        [b]...[/b]                    
        [i]...[/i]                    
        [noparse][url="http..."]...[/url][/noparse]    
        [noparse][url]http...[/url][/noparse]            
        [u]...[/u]                    
        [s]...[/s]                    
                    
        [code]...[/code]            
        [size=n]...[/size]            
        [color=#nnnnnn]...[/color]    
        [img]http...[/img]
        [ol]
            [li]...ordered list...
        [/ol]
        [ul]
            [li]...unordered list...
        [/ul]
    */

    
$bbcode = array(
    
"/\[b\](.*?)\[\/b\]/is" => "<strong>$1</strong>",
    
"/\[u\](.*?)\[\/u\]/is" => "<u>$1</u>",
    
"/\[i\](.*?)\[\/i\]/is" => "<em>$1</em>",
    
"/\[s\](.*?)\[\/s\]/is" => "<s>$1</s>",
    
"/\[url\](.*?)\[\/url\]/is" => "<a href='$1'>$1</a>",
    
"/\[url\=(.*?)\](.*?)\[\/url\]/is" => "<a href='$1'>$2</a>",
    
"/\[quote\](.*?)\[\/quote\]/is" => "<blockquote>$1</blockquote>",
    
"/\[code\](.*?)\[\/code\]/is" => "<pre>$1</pre>",
    
"/\[size=(.*?)\](.*?)\[\/size\]/is" => "<font size=$1>$2</font>",
    
"/\[color=(.*?)\](.*?)\[\/color\]/is" => "<font color=$1>$2</font>",
    
"/\[img\](.*?)\[\/img\]/is" => "<img src=$1 />",
    
"/\[ol\]/is" => "<ol>",
    
"/\[\/ol\]/is" => "</ol>",
    
"/\[ul\]/is" => "<ul>",
    
"/\[\/ul\]/is" => "</ul>",
    
"/\[li\]/is" => "<li>",
    
"/\[\/li\]/is" => "</li>",
    
"/\megaupload.com/is" => "sitioweb.com/mu",
    );

    
$content preg_replace(array_keys($bbcode), array_values($bbcode), $content);
   return 
$content;
}

function 
bbcode_strip($content)
{
    
$bbcode = array(
    
"/\[b\](.*?)\[\/b\]/is" => "$1",
    
"/\[u\](.*?)\[\/u\]/is" => "$1",
    
"/\[i\](.*?)\[\/i\]/is" => "$1",
    
"/\[s\](.*?)\[\/s\]/is" => "$1",
    
"/\[url\](.*?)\[\/url\]/is" => "$1",
    
"/\[url\=(.*?)\](.*?)\[\/url\]/is" => "$2",
    
"/\[quote\](.*?)\[\/quote\]/is" => "$1",
    
"/\[code\](.*?)\[\/code\]/is" => "$1",
    
"/\[size=(.*?)\](.*?)\[\/size\]/is" => "$2",
    
"/\[color=(.*?)\](.*?)\[\/color\]/is" => "$2",
    
"/\[img\](.*?)\[\/img\]/is" => "",
    
"/\[ol\]/is" => "",
    
"/\[\/ol\]/is" => "",
    
"/\[ul\]/is" => "",
    
"/\[\/ul\]/is" => "",
    
"/\[li\]/is" => "",
    
"/\[\/li\]/is" => "",
    
"/\megaupload.com/is" => "sitioweb.com/mu",
    );

    
$content preg_replace(array_keys($bbcode), array_values($bbcode), $content);
    return 
$content;
}
?> 
Claro, yo entiendo que lo queres es cambiar un codigo por otro, osea html por bbcode, pero para que quieres hacer eso?

Desesas publicar tus entradas en foro? Es decir, para que necesitar hacerlo? cual es la necesidad?

A ver si me explico, la necesidad que te lleva a querer convertir ese codigo a bbcode, eso es que necesito que digas para que asi te podamos ayudar.

Adicionalemnte te digo que bbcode es un lenguaje limitado creado para foros, bien sea vbulletin, php y otros, simplemente esta hecho para ser traducido con funciones basicas y asi evitar que los foros interpreten el html, asi que no esperes mucho del bbcode como lenguaje ya que se limita solo a la creacion de mensajes, tablas, listas, spoiler, color font y otras cositas.