public static function parse($code) { $bbcode = new BBCode(); if (defined('SMILEY_DIR')) { $bbcode->SetSmileyDir(substr(SMILEY_PATH, 0, -1)); $bbcode->SetSmileyURL(substr(SMILEY_DIR, 0, -1)); } // A few backwards compatible issues $code = str_replace('[img:right]', '[img align="right"]', $code); /* 'quote' => Array( 'mode' => BBCODE_MODE_LIBRARY, 'method' => "DoQuote", 'allow_in' => Array('listitem', 'block', 'columns'), 'before_tag' => "sns", 'after_tag' => "sns", 'before_endtag' => "sns", 'after_endtag' => "sns", 'plain_start' => "\n<b>Quote:</b>\n", 'plain_end' => "\n", ), */ // Open tags $bbcode->AddRule('open', array('mode' => BBCODE_MODE_CALLBACK, 'method' => array(__CLASS__, 'DoOpen'), 'class' => 'link', 'allow_in' => array('listitem', 'block', 'columns', 'inline'), 'content' => BBCODE_REQUIRED, 'plain_start' => "<a href=\"{\$link}\">", 'plain_end' => "</a>", 'plain_content' => array('_content', '_default'), 'plain_link' => array('_default', '_content'))); $bbcode->AddRule('colour', array('mode' => BBCODE_MODE_ENHANCED, 'allow' => array('_default' => '/^#?[a-zA-Z0-9._ -]+$/'), 'template' => '<span style="color:{$_default/tw}">{$_content/v}</span>', 'class' => 'inline', 'allow_in' => array('listitem', 'block', 'columns', 'inline', 'link'))); for ($i = 1; $i < 5; $i++) { $bbcode->AddRule('h' . $i, array('simple_start' => "\n<h" . $i . ">\n", 'simple_end' => "\n</h" . $i . ">\n", 'allow_in' => array('listitem', 'block', 'columns'), 'before_tag' => "sns", 'after_tag' => "sns", 'before_endtag' => "sns", 'after_endtag' => "sns", 'plain_start' => "\n", 'plain_end' => "\n")); } $bbcode->AddRule('quote', array('mode' => BBCODE_MODE_CALLBACK, 'method' => array(__CLASS__, 'DoQuote'), 'allow_in' => array('listitem', 'block', 'columns'), 'before_tag' => "sns", 'after_tag' => "sns", 'before_endtag' => "sns", 'after_endtag' => "sns", 'plain_start' => "\n<b>Quote:</b>\n", 'plain_end' => "\n")); $bbcode->AddRule('span', array('mode' => BBCODE_MODE_CALLBACK, 'method' => array(__CLASS__, 'DoSpan'), 'allow_in' => array('listitem', 'block', 'columns'), 'before_tag' => "sns", 'after_tag' => "sns", 'before_endtag' => "sns", 'after_endtag' => "sns", 'plain_start' => "\n<b>Quote:</b>\n", 'plain_end' => "\n")); /* 'mode' => BBCODE_MODE_LIBRARY, 'method' => 'DoURL', 'class' => 'link', 'allow_in' => Array('listitem', 'block', 'columns', 'inline'), 'content' => BBCODE_REQUIRED, 'plain_start' => "<a href=\"{\$link}\">", 'plain_end' => "</a>", 'plain_content' => Array('_content', '_default'), 'plain_link' => Array('_default', '_content'), */ $bbcode->AddRule('action', array('mode' => BBCODE_MODE_CALLBACK, 'method' => array(__CLASS__, 'DoAction'), 'class' => 'link', 'allow_in' => array('listitem', 'block', 'columns', 'inline'), 'content' => BBCODE_REQUIRED, 'plain_start' => "<a href=\"{\$link}\">", 'plain_end' => "</a>", 'plain_content' => array('_content', '_default'), 'plain_link' => array('_default', '_content'))); return '<div class="text">' . @$bbcode->Parse($code) . '</div>'; }
public static function parse_html($content, $process_content_plugins = false, $bbcode = true, $autolink = true) { if ($bbcode) { require_once CJLIB_PATH . '/lib/nbbc/nbbc_main.php'; $bbcode = new BBCode(); $bbcode->SetSmileyURL(CJLIB_MEDIA_URI . '/smileys'); $bbcode->SetSmileyDir(CJLIB_MEDIA_PATH . DS . 'smileys'); $bbcode->SetTagMarker('['); $bbcode->SetAllowAmpersand(false); $bbcode->SetEnableSmileys(true); $bbcode->SetDetectURLs($autolink); $bbcode->SetPlainMode(false); $bbcode->SetDebug(false); $content = $bbcode->Parse($content); } else { if ($autolink) { require_once 'lib_autolink.php'; $content = autolink_urls($content, 50, ' rel="nofollow"'); } } if ($process_content_plugins) { $content = JHTML::_('content.prepare', $content); } return $content; }
} //this sets the global theme vars $objPage->setThemeVars(); //set a default breadcrumb $objPage->addPagecrumb(array(array('url' => '/' . root(), 'name' => langVar('B_MAINSITE')))); // //--Setup modules, online system and bbcode stuffz // // //--BBCode Setup // $objBBCode = new BBCode(); $objBBCode->SetDebug(true); $objBBCode->SetDetectURLs(false); $objBBCode->ClearSmileys(); $objBBCode->SetSmileyDir('/' . root() . 'images/smilies/'); $file = cmsROOT . 'core/bbcode_tags.php'; if (is_readable($file)) { require_once $file; } else { hmsgDie('FAIL', 'Fatal Error - BBCode\'s not available.'); } // //--Module Setup // $file = cmsROOT . 'core/classes/class.module.php'; if (is_readable($file)) { require_once $file; } else { hmsgDie('FAIL', 'Fatal Error - Modules cannot be loaded.'); }
<input type='checkbox' <?php if ($tag_marker == '<') { print "checked='checked'"; } ?> name='anglebrackets' /> Use <> instead of [] for tags<br /> </td></tr></tbody></table> </form> </div> <?php if (isset($_POST['bbcode_input'])) { $bbcode = new BBCode(); $bbcode->SetSmileyURL("../smileys"); $bbcode->SetSmileyDir("../smileys"); $bbcode->SetTagMarker($tag_marker); $bbcode->SetAllowAmpersand($allow_ampersand); $bbcode->SetEnableSmileys($enable_smileys); $bbcode->SetDetectURLs($autourl_mode); $bbcode->SetPlainMode($plain_mode); $output = $bbcode->Parse($input); print "<div class='box'>\n" . "<div class='bbcode'>{$output}</div>\n" . "</div>\n"; } ?> </body> </html>