Beispiel #1
0
 /**
  */
 protected function parse_simple_line($line)
 {
     $line = Core_Regexps::replace('{\'\'\'(.+?)\'\'\'}', '<b>\\1</b>', $line);
     $line = Core_Regexps::replace('{\'\'(.+?)\'\'}', '<i>\\1</i>', $line);
     $line = Core_Regexps::replace_using_callback('{\\[\\[(.+?)\\]\\]}', array($this, 'parse_link_callback'), $line);
     if ($m = Core_Regexps::match_with_results('{^([\\s\\*\\#]*)(http://[^\\s+]+)\\s*}', $line)) {
         $url = $m[2];
         $urltext = $url;
         $urltext = Core_Regexps::replace('{^http://}', '', $urltext);
         $urltext = Core_Regexps::replace('{/.*$}', '', $urltext);
         $line = $m[1] . '[<a href="' . $url . '" target="_blank">' . $urltext . '</a>]';
     }
     $line = str_ireplace('[b]', '<b>', $line);
     $line = str_ireplace('[/b]', '</b>', $line);
     $line = str_ireplace('[q]', '<blockquote>', $line);
     $line = str_ireplace('[/q]', '</blockquote>', $line);
     return $line;
 }
Beispiel #2
0
 /**
  * @dataProvider provider_replace_using_callback
  */
 public function test_replace_using_callback($pattern, $callback, $subject, $expected)
 {
     $this->assertEquals(Core_Regexps::replace_using_callback($pattern, $callback, $subject), $expected);
 }