The regex has an operator at the end of the regex which makes it case insensitive. See #si.
Then wouldn't it be better to strip the duplicates for performance sake?
The file and code I'm talking about is in; img_bbcode_include.php
$text = preg_replace_callback("#\[img\]((http|ftp|https|ftps)://)(.*?)(\.(jpg|jpeg|gif|png|JPG|JPEG|GIF|PNG))\[/img\]#si", "img_bbcode_callback", $text);