From 9bd9df1eace08648ddf2616d3008631f2b697474 Mon Sep 17 00:00:00 2001 From: Florent Bruneau Date: Fri, 9 Apr 2010 20:17:50 +0200 Subject: [PATCH] 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 --- banana/message.func.inc.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) 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 -- 2.1.4