Bueno, ya que he encontrado la solución a mi problema voy a intentar ayudar un poco.
 
Aquí tenéis la forma en que a mí me ha funcionado sin ningún tipo de problemas, solo he tengo que añadir unas interrogaciones en los (.*) de forma que quedan así (.*?)  
 Código PHP:
    <?php
function bbcode2html($cadena){
    
    /* Definicion de estilos para los elementos html */
    
    DEFINE("PRE_DATO",' style="font-size:11px;color:#666;"');
    DEFINE("BOX_STYLE",' style="border:1px solid #ccc;padding:5px;margin:3px;"');
    
    /* Traspaso de BBCODE a HTML */
    
    $bbcode[] = '/\[b\](.*?)\[\/b\]/is'; $html[] = '<b>$1</b>';
    
    $bbcode[] = '/\[u\](.*?)\[\/u\]/is'; $html[] = '<u>$1</u>';
    
    $bbcode[] = '/\[i\](.*?)\[\/i\]/is'; $html[] = '<i>$1</i>';
    
    $bbcode[] = '/\[s\](.*?)\[\/s\]/is'; $html[] = '<s>$1</s>';
    
    $bbcode[] = '/\[br\]/iU'; $html[] = '<br />';
    
    $bbcode[] = '/\[font=(?:"|\')?(.*?)(?:"|\')?\](.*?)\[\/font\]/is'; $html[] = '<span style="font-family:$1;">$2</span>';
    
    $bbcode[] = '/\[size=(?:"|\')?(.*?)(?:"|\')?\](.*?)\[\/size\]/is'; $html[] = '<span style="font-size:$1px;">$2</span>';
    
    $bbcode[] = '/\[url\](.*?)\[\/url\]/i'; $html[] = '<a href="$1">$1</a>';
    
    $bbcode[] = '/\[url=(?:"|\')?(.*?)(?:"|\')?\](.*?)\[\/url\]/i'; $html[] = '<a href="$1">$2</a>';
    
    $bbcode[] = '/\[quote\](.*?)\[\/quote\]/is'; $html[] = '<blockquote'.BOX_STYLE.'>$1</blockquote>';
    
    $bbcode[] = '/\[quote=(?:"|\')?(.*?)(?:"|\')?\](.*?)\[\/quote\]/is'; $html[] = '<div'.PRE_DATO.'>"$1" Escribio:</div><blockquote'.BOX_STYLE.'>$2</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\]/is'; $html[] = '<ul>$1</ul>';
    
    $bbcode[] = '/\[list=1\](.*?)\[\/list\]/is'; $html[] = '<ol style="list-style-type:decimal">$1</ol>';
    
    $bbcode[] = '/\[list=a\](.*?)\[\/list\]/is'; $html[] = '<ol style="list-style-type:lower-alpha">$1</ol>';
    
    $bbcode[] = '/\[\*\](.*?)/iU'; $html[] = '<li>$1 ';
    
    $bbcode[] = '/\[code\](.*?)\[\/code\]/is'; $html[] = '<pre'.BOX_STYLE.'>$1</pre>';
    
    $bbcode[] = '/\[align=(?:"|\')?left(?:"|\')?\](.*?)\[\/align\]/is'; $html[] = '<div style="text-align:left;">$1</div>';
    
    $bbcode[] = '/\[align=(?:"|\')?center(?:"|\')?\](.*?)\[\/align\]/is'; $html[] = '<div style="text-align:center;">$1</div>';
    
    $bbcode[] = '/\[align=(?:"|\')?right(?:"|\')?\](.*?)\[\/align\]/is'; $html[] = '<div style="text-align:right;">$1</div>';
    
    $cadena = preg_replace($bbcode,$html,$cadena);
    
    return $cadena;
}
?>