diff --git a/src/Content/Text/BBCode.php b/src/Content/Text/BBCode.php
index 5b0aa2cff..40fb182fa 100644
--- a/src/Content/Text/BBCode.php
+++ b/src/Content/Text/BBCode.php
@@ -1718,6 +1718,14 @@ class BBCode extends BaseObject
$text
);
+ $text = preg_replace_callback("/\[img\=([$URLSearchString]*)\](.*?)\[\/img\]/ism",
+ function ($matches) {
+ $matches[1] = proxy_url($matches[1]);
+ $matches[2] = htmlspecialchars($matches[2], ENT_COMPAT);
+ return '';
+ },
+ $text);
+
$text = preg_replace("/\[img\=([0-9]*)x([0-9]*)\](.*?)\[\/img\]/ism", '', $text);
$text = preg_replace("/\[zmg\=([0-9]*)x([0-9]*)\](.*?)\[\/zmg\]/ism", '', $text);
@@ -1852,10 +1860,12 @@ class BBCode extends BaseObject
$text = preg_replace_callback("/\[nobb\](.*?)\[\/nobb\]/ism", 'self::unescapeNoparseCallback', $text);
$text = preg_replace_callback("/\[pre\](.*?)\[\/pre\]/ism", 'self::unescapeNoparseCallback', $text);
-
+ /// @todo What is the meaning of these lines?
$text = preg_replace('/\[\&\;([#a-z0-9]+)\;\]/', '&$1;', $text);
$text = preg_replace('/\&\#039\;/', '\'', $text);
- $text = preg_replace('/\"\;/', '"', $text);
+
+ // Currently deactivated, it made problems with " inside of alt texts.
+ //$text = preg_replace('/\"\;/', '"', $text);
// fix any escaped ampersands that may have been converted into links
$text = preg_replace('/\<([^>]*?)(src|href)=(.*?)\&\;(.*?)\>/ism', '<$1$2=$3&$4>', $text);