aboutsummaryrefslogtreecommitdiffstats
path: root/include/zid.php
diff options
context:
space:
mode:
Diffstat (limited to 'include/zid.php')
-rw-r--r--include/zid.php9
1 files changed, 7 insertions, 2 deletions
diff --git a/include/zid.php b/include/zid.php
index 27ef0cefa..344976437 100644
--- a/include/zid.php
+++ b/include/zid.php
@@ -205,6 +205,10 @@ function zidify_text($s) {
*/
function red_zrl_callback($matches) {
+ // Catch and exclude trailing punctuation
+ if (preg_match("/[.,;:!?)]*$/i", $matches[2], $pts))
+ $matches[2] = substr($matches[2], 0, strlen($matches[2])-strlen($pts[0]));
+
$zrl = is_matrix_url($matches[2]);
$t = strip_zids($matches[2]);
@@ -215,10 +219,11 @@ function red_zrl_callback($matches) {
if($matches[1] === '#^')
$matches[1] = '';
+
if($zrl)
- return $matches[1] . '#^[zrl=' . $matches[2] . ']' . $matches[2] . '[/zrl]';
+ return $matches[1] . '#^[zrl=' . $matches[2] . ']' . $matches[2] . '[/zrl]' . $pts[0];
- return $matches[1] . '#^[url=' . $matches[2] . ']' . $matches[2] . '[/url]';
+ return $matches[1] . '#^[url=' . $matches[2] . ']' . $matches[2] . '[/url]' . $pts[0];
}
/**