Quick Search:
CODE
Oracle PL/SQL Code Library
JOBS
Find Or Post Oracle Jobs
FORUM
Oracle Discussion & Chat
 PHP Code: Convert BBCode Tags Jump to:  
Category: >> PHP Code >> Convert BBCode Tags Bookmark and Share

<< lastnext >>

Snippet Name: Convert BBCode Tags

Description: Compact function that converts BBCode tags to their HTML equivalent.

Also see:
» BR2NL Function - Opposite of NL2BR
» Convert Seconds to Hours:Minutes:Secon...
» Convert UK Dates To mySQL Format Dates
» Convert miles to feet, feet to miles, ...
» Roman2dec and Dec2Roman
» Convert Minutes to Hours
» Binary to Text / Text to Binary
» Decimal to octal conversion
» Convert minutes to hours #2
» Convert minutes to hours #1
» Convert HTML to plain text

Comment: (none)

Language: PHP
Highlight Mode: PHP
Last Modified: March 16th, 2009

<?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);
     }
 
?>


Free
Oracle Magazine
Subscriptions
and Oracle White Papers


SQL University.net courses meet the most demanding needs of the business world for advanced education in a cost-effective manner. SQL University.net courses are available immediately for IT professionals and can be taken without disruption of your workplace schedule or processes.

Compared to traditional travel-based training, SQL University.net saves time and valuable corporate resources, allowing companies to do more with less. That's our mission, and that's what we deliver.

Click here to find out more
 
Home      :      Code Library      :      Sponsors      :      Privacy      :      Terms of Use      :      Contact Us 259 users online    © 2009 psoug.org

PSOUG LOGIN
Username: 
Password: 
Forgot your password?