<?PHP
// Convert BBCodes to their HTML equivalent
FUNCTION do_bbcode($text){
GLOBAL $lang_common, $FORUM_user;
IF (STRPOS($text, 'quote') !== FALSE){
$text = STR_REPLACE('[quote]', '</p><blockquote><div class="incqbox"><p>', $text);
$text = PREG_REPLACE('#\[quote=("|"|\'|)(.*)\\1\]#seU', '"</p><blockquote><div class=\"incqbox\"><h4>".str_replace(array(\'[\', \'\\"\'), array(\'[\', \'"\'), \'$2\')." ".$lang_common[\'wrote\'].":</h4><p>"', $text);
$text = PREG_REPLACE('#\[\/quote\]\s*#', '</p></div></blockquote><p>', $text);
}
$pattern = ARRAY('#\[b\](.*?)\[/b\]#s',
'#\[i\](.*?)\[/i\]#s',
'#\[u\](.*?)\[/u\]#s',
'#\[url\]([^\[]*?)\[/url\]#e',
'#\[url=([^\[]*?)\](.*?)\[/url\]#e',
'#\[email\]([^\[]*?)\[/email\]#',
'#\[email=([^\[]*?)\](.*?)\[/email\]#',
'#\[color=([a-zA-Z]*|\#?[0-9a-fA-F]{6})](.*?)\[/color\]#s');
$replace = ARRAY('<strong>$1</strong>',
'<em>$1</em>',
'<span class="bbu">$1</span>',
'handle_url_tag(\'$1\')',
'handle_url_tag(\'$1\', \'$2\')',
'<a href="mailto:$1">$1</a>',
'<a href="mailto:$1">$2</a>',
'<span style="color: $1">$2</span>');
$text = PREG_REPLACE($pattern, $replace, $text);
RETURN $text;
}
/////////////////////////////////////
// If the message contains a code tag we have to split it
// up (text within [code][/code] shouldn't be touched)
IF (STRPOS($text, '[code]') !== FALSE && STRPOS($text, '[/code]') !== FALSE){
LIST($inside, $outside) = split_text($text, '[code]', '[/code]');
$outside = ARRAY_MAP('ltrim', $outside);
$text = IMPLODE('<">', $outside);
}
?>