* * SYNTAX: * TARGET * * OUTPUT: * TARGET */ if(!defined('DOKU_INC')) die(); class syntax_plugin_abbr_htmltag extends DokuWiki_Syntax_Plugin { protected $entry_pattern = '(?=.*?)'; protected $exit_pattern = ''; public function getType() { return 'formatting'; } public function getSort() { return 305; } public function connectTo($mode) { $this->Lexer->addEntryPattern($this->entry_pattern,$mode,substr(get_class($this), 7)); } public function postConnect() { $this->Lexer->addExitPattern($this->exit_pattern,substr(get_class($this), 7)); } /** * Handle the match */ public function handle($match, $state, $pos, Doku_Handler $handler) { switch ($state) { case DOKU_LEXER_ENTER : case DOKU_LEXER_UNMATCHED : case DOKU_LEXER_EXIT : return array($state, $match); break; } return false; } /** * Create output */ public function render($format, Doku_Renderer $renderer, $data) { if($format == 'xhtml') { list($state, $match) = $data; $match = $data[1]; switch ($state) { case DOKU_LEXER_ENTER : $renderer->doc .= $match; break; // case DOKU_LEXER_MATCHED : // break; case DOKU_LEXER_UNMATCHED : $renderer->doc .= $renderer->_xmlEntities($match); break; case DOKU_LEXER_EXIT : $renderer->doc .= $match; break; // case DOKU_LEXER_SPECIAL : // break; } return true; } return false; } }