public function setUp() { $markup = new TextFormat(); $markup->addMarkup('line', '^--+$', NULL, 'markupLine'); $markup->addMarkup('heading', '^(!{1,4})([^\\n]+)', NULL, 'markupHeading'); $markup->addMarkup('bold', '\\*\\*', '\\*\\*', 'markupText'); $markup->addMarkup('italics', '%%', '%%', 'markupText'); $markup->addMarkup('underline', '__', '__', 'markupText'); $markup->addMarkup('verb', '##', '##', 'markupText'); $markup->addMarkup('big', '\\+\\+', '\\+\\+', 'markupText'); $markup->addMarkup('small', '--', '--', 'markupText'); $markup->addMarkup('super', '>>', '>>', 'markupText'); $markup->addMarkup('sub', '<<', '<<', 'markupText'); $markup->addMarkup('strike', '\\{-', '-\\}', 'markupText'); $markup->addMarkup('simple_bold', '(?<=\\s|^)\\*(\\S+)\\*(?=\\s|$)', NULL, 'markupSimple'); $markup->addMarkup('simple_italics', '(?<=\\s|^)%(\\S+)%(?=\\s|$)', NULL, 'markupSimple'); $markup->addMarkup('simple_underline', '(?<=\\s|^)_(\\S+)_(?=\\s|$)', NULL, 'markupSimple'); $markup->addMarkup('simple_verb', '(?<=\\s|^)#(\\S+)#(?=\\s|$)', NULL, 'markupSimple'); $markup->addMarkup('simple_big', '(?<=\\s|^)\\+(\\S+)\\+(?=\\s|$)', NULL, 'markupSimple'); $markup->addMarkup('simple_small', '(?<=\\s|^)-(\\S+)-(?=\\s|$)', NULL, 'markupSimple'); $markup->addMarkup('simple_super', '(?<=\\s|^)>(\\S+)>(?=\\s|$)', NULL, 'markupSimple'); $markup->addMarkup('simple_sub', '(?<=\\s|^)<(\\S+)<(?=\\s|$)', NULL, 'markupSimple'); $markup->addMarkup('image', '\\[img(=.*?)?\\](\\S+)', NULL, 'markupImage'); $markup->addMarkup('table', '(^\\|[^\\n]*\\|[^\\n]*\\n)+', NULL, 'markupTable'); $markup->addMarkup('list', '(^[=-]+ [^\\n]+\\n)+', NULL, 'markupList'); $markup->addMarkup('indent', '(^ [^\\n]+\\n)+', NULL, 'markupIndent'); $markup->addMarkup('nop', '\\[nop\\](.*?)\\[\\/nop\\]', NULL, 'markupNop'); $markup->addMarkup('pre', '\\[pre\\]', '\\[\\/pre\\]', 'markupPre'); $markup->addMarkup('code', '\\[code\\](.*?)\\[\\/code\\]', NULL, 'markupCode'); $markup->addMarkup('quote', '\\[quote(=.*?)?\\]', '\\[\\/quote\\]', 'markupQuote'); $markup->addMarkup('link', '(\\[.*?\\])?\\b(https?:\\/\\/\\S+)', NULL, 'markupLink'); $markup->addMarkup('mail', '(\\[.*?\\])?\\b([\\w!#%+.-]+@[[:alnum:].-]+)', NULL, 'markupMail'); $markup->addMarkup('sum', '\\(:sum\\((\\d+)\\\\(\\d+)\\):\\)', NULL, 'markupSum'); $this->markup = $markup; }
/** * Simplified version of formatReady that handles link formatting only. * * @param string $text Marked-up text. * @param bool $nl2br Convert newlines to <br>. * @return string Marked-up text with markup-links converted to * HTML-links. */ function formatLinks($text, $nl2br = TRUE) { $link_markup_rule = StudipFormat::getStudipMarkup('links'); $markup = new TextFormat(); $markup->addMarkup('links', $link_markup_rule['start'], $link_markup_rule['end'], $link_markup_rule['callback']); if ($nl2br) { // fix newlines $text = nl2br($text, FALSE); } return Markup::purify($markup->format(trim($text))); }