diff --git a/include/bbcode.php b/include/bbcode.php index e07b63313a..98c1f11991 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)