/** * Initializes the registry by loading all the existing parsers * * @return void */ protected static function _init() { $defaults = array('markdown' => array('name' => 'Markdown', 'className' => 'MarkupParsers.Markdown'), 'bbcode' => array('name' => 'BBCode', 'className' => 'MarkupParsers.Bbcode'), 'html' => array('name' => 'Html', 'className' => 'MarkupParsers.Html')); if (empty(self::$_availableParsers)) { self::$_availableParsers = array_merge($defaults, (array) Configure::read('Parsers')); } }
/** * Parse text from some plain text format * * @param string $text Text for parsing * @param string $format Format type * @return array Parsed pages of text */ public function parse($text, $parser = 'markdown', $options = array()) { $parsed = array($text); try { App::uses('ParserRegistry', 'MarkupParsers.Lib'); $parsed = ParserRegistry::getParser($parser)->parse($text, $options); if (!is_array($parsed)) { $parsed = array($parsed); } } catch (Exception $e) { if (Configure::read('debug') > 0) { throw $e; } else { $this->log($e->getMessage()); } } return $parsed; }