Example #1
0
 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;
 }
Example #2
0
/**
 * 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)));
}