diff --git a/include/bbcode.php b/include/bbcode.php
index e07b63313..98c1f1199 100644
--- a/include/bbcode.php
+++ b/include/bbcode.php
@@ -99,10 +99,15 @@ function bb_attachment($Text, $simplehtml = false, $tryoembed = true) {
$image = "";
}
- if ($simplehtml == 7)
+ if ($simplehtml == 7) {
+ $title2 = $title;
+ // If the link description is similar to the text above then don't add the link description
+ if (($title != "") AND ((strpos($match[1],$title) !== false) OR
+ (similar_text($match[1],$title) / strlen($title)) > 0.9))
+ $title2 = $url;
$text = sprintf('%s
',
- $url, $title, $title);
- elseif (($simplehtml != 4) AND ($simplehtml != 0))
+ $url, $title, $title2);
+ } elseif (($simplehtml != 4) AND ($simplehtml != 0))
$text = sprintf('%s
', $url, $title);
else {
$text = sprintf('', $type);
@@ -950,11 +955,13 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true, $simplehtml = fal
$Text = preg_replace_callback("&\[url=/posts/([^\[\]]*)\](.*)\[\/url\]&Usi", 'bb_DiasporaLinks', $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 (!$forplaintext)
- $Text = preg_replace("/([^\]\='".'"'."]|^)(https?\:\/\/[a-zA-Z0-9\:\/\-\?\&\;\.\=\_\~\#\%\$\!\+\,]+)/ism", '$1$2', $Text);
- else {
- $Text = preg_replace("(\[url\]([$URLSearchString]*)\[\/url\])ism"," $1 ",$Text);
- $Text = preg_replace_callback("&\[url=([^\[\]]*)\]\[img\](.*)\[\/img\]\[\/url\]&Usi", 'bb_RemovePictureLinks', $Text);
+ if ($simplehtml != 7) {
+ if (!$forplaintext)
+ $Text = preg_replace("/([^\]\='".'"'."]|^)(https?\:\/\/[a-zA-Z0-9\:\/\-\?\&\;\.\=\_\~\#\%\$\!\+\,]+)/ism", '$1$2', $Text);
+ else {
+ $Text = preg_replace("(\[url\]([$URLSearchString]*)\[\/url\])ism"," $1 ",$Text);
+ $Text = preg_replace_callback("&\[url=([^\[\]]*)\]\[img\](.*)\[\/img\]\[\/url\]&Usi", 'bb_RemovePictureLinks', $Text);
+ }
}
if ($tryoembed)