From d10eaefaa967c3f024acb4b66f40e6bce86700d7 Mon Sep 17 00:00:00 2001
From: Michael <heluecht@pirati.ca>
Date: Thu, 14 Sep 2017 22:04:37 +0000
Subject: [PATCH] Improved regular expression for the Diaspora link detection

---
 include/bbcode.php | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/include/bbcode.php b/include/bbcode.php
index be4667a29..a14e3ee8e 100644
--- a/include/bbcode.php
+++ b/include/bbcode.php
@@ -987,7 +987,8 @@ function bbcode($Text, $preserve_nl = false, $tryoembed = true, $simplehtml = fa
 
 	// Server independent link to posts and comments
 	// See issue: https://github.com/diaspora/diaspora_federation/issues/75
-	$Text = preg_replace("=diaspora://(.*?)/([^\s\]]*)=ism", System::baseUrl()."/display/$2", $Text);
+	$expression = "=diaspora://.*?/post/([0-9A-Za-z\-_@.:]{15,254}[0-9A-Za-z])=ism";
+	$Text = preg_replace($expression, System::baseUrl()."/display/$1", $Text);
 
 	// if the HTML is used to generate plain text, then don't do this search, but replace all URL of that kind to text
 //	if ($simplehtml != 7) {