From f602ec30ccde5700726bc51be1096b0a2c55b1ec Mon Sep 17 00:00:00 2001
From: Michael <heluecht@pirati.ca>
Date: Mon, 8 May 2017 18:11:37 +0000
Subject: [PATCH] Shared links create now a better HTML

---
 include/bbcode.php | 27 +++++++++++++--------------
 1 file changed, 13 insertions(+), 14 deletions(-)

diff --git a/include/bbcode.php b/include/bbcode.php
index 9518fe7dd1..867c9fe2bf 100644
--- a/include/bbcode.php
+++ b/include/bbcode.php
@@ -55,18 +55,7 @@ function bb_attachment($Text, $simplehtml = false, $tryoembed = true) {
 	}
 
 	if ($simplehtml == 7) {
-		$title2 = $data["title"];
-
-		$test1 = trim(html_entity_decode($data["text"],ENT_QUOTES,'UTF-8'));
-		$test2 = trim(html_entity_decode($data["title"],ENT_QUOTES,'UTF-8'));
-
-		// If the link description is similar to the text above then don't add the link description
-		if (($data["title"] != "") AND ((strpos($test1,$test2) !== false) OR
-			(similar_text($test1,$test2) / strlen($data["title"])) > 0.9)) {
-			$title2 = $data["url"];
-		}
-		$text = sprintf('<a href="%s" title="%s" class="attachment" rel="nofollow external">%s</a><br />',
-				$data["url"], $data["title"], $title2);
+		$text = style_url_for_mastodon($data["url"]);
 	} elseif (($simplehtml != 4) AND ($simplehtml != 0)) {
 		$text = sprintf('<a href="%s" target="_blank">%s</a><br>', $data["url"], $data["title"]);
 	} else {
@@ -171,9 +160,9 @@ function cleancss($input) {
 }
 
 /**
- * @brief Converts [url] BBCodes in a format that looks fine on Mastodon.
+ * @brief Converts [url] BBCodes in a format that looks fine on Mastodon. (callback function)
  * @param array $match Array with the matching values
- * @return string replaced value
+ * @return string reformatted link including HTML codes
  */
 function bb_style_url($match) {
         $url = $match[1];
@@ -187,8 +176,18 @@ function bb_style_url($match) {
                 return $match[0];
         }
 
+	return style_url_for_mastodon($url);
+}
+
+/**
+ * @brief Converts [url] BBCodes in a format that looks fine on Mastodon.
+ * @param string $url URL that is about to be reformatted
+ * @return string reformatted link including HTML codes
+ */
+function style_url_for_mastodon($url) {
         $styled_url = $url;
 
+        $parts = parse_url($url);
         $scheme = $parts['scheme'].'://';
         $styled_url = str_replace($scheme, '', $styled_url);
 
-- 
2.39.5