projects
/
banana.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix a bug in text/plain formatter when a message contains two URLs, the
[banana.git]
/
banana
/
message.func.inc.php
diff --git
a/banana/message.func.inc.php
b/banana/message.func.inc.php
index
31f3e47
..
e32d973
100644
(file)
--- 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);
'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</$mark>", $text);
}
foreach ($formatting as $mark=>$limit) {
list($ll, $lr) = $limit;
$text = preg_replace('/' . $ll . '(\w+?)' . $lr . '/us',
"<$mark>\\1</$mark>", $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
}
/** Build a flowed text from plain text