]> git.mxchange.org Git - friendica.git/blobdiff - include/bbcode.php
fixed parser error, need parentheses
[friendica.git] / include / bbcode.php
index 4b5384a615f183b1190426d7c6058fac177665a8..9a43cdb305e140222650bcfdd9dd97f307da934b 100644 (file)
@@ -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 {
@@ -170,6 +159,11 @@ function cleancss($input) {
        return $cleaned;
 }
 
+/**
+ * @brief Converts [url] BBCodes in a format that looks fine on Mastodon. (callback function)
+ * @param array $match Array with the matching values
+ * @return string reformatted link including HTML codes
+ */
 function bb_style_url($match) {
         $url = $match[1];
 
@@ -182,12 +176,22 @@ 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 and GNU Social.
+ * @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);
 
-        $html = '<a href="%s" rel="nofollow noopener" target="_blank">'.
+        $html = '<a href="%s" class="attachment" rel="nofollow noopener" target="_blank">'.
                  '<span class="invisible">%s</span>';
 
         if (strlen($styled_url) > 30) {
@@ -203,7 +207,6 @@ function bb_style_url($match) {
         }
 }
 
-
 function stripcode_br_cb($s) {
        return '[code]' . str_replace('<br />', '', $s[1]) . '[/code]';
 }