From: Florent Bruneau Date: Fri, 9 Apr 2010 18:17:50 +0000 (+0200) Subject: Fix a bug in text/plain formatter when a message contains two URLs, the X-Git-Url: http://git.polytechnique.org/?p=banana.git;a=commitdiff_plain;h=9bd9df1eace08648ddf2616d3008631f2b697474 Fix a bug in text/plain formatter when a message contains two URLs, the first one being a prefix of the second one. Signed-off-by: Florent Bruneau --- diff --git a/banana/message.func.inc.php b/banana/message.func.inc.php index 31f3e47..e32d973 100644 --- a/banana/message.func.inc.php +++ b/banana/message.func.inc.php @@ -88,13 +88,16 @@ function banana_catchFormats($text) 'strong' => array('\B\*\b', '\b\*\B')); $url = Banana::$msgshow_url; preg_match_all("/$url/ui", $text, $urls); - $text = str_replace($urls[0], "&&&urls&&&", $text); + $urls = $urls[0]; + $replace = $urls; + rsort($replace); + $text = str_replace($replace, "&&&urls&&&", $text); foreach ($formatting as $mark=>$limit) { list($ll, $lr) = $limit; $text = preg_replace('/' . $ll . '(\w+?)' . $lr . '/us', "<$mark>\\1", $text); } - return preg_replace('/&&&urls&&&/e', 'array_shift($urls[0])', $text); + return preg_replace('/&&&urls&&&/e', 'array_shift($urls)', $text); } /** Build a flowed text from plain text