Tema je na pravom mestu.
Kôd:
$pretraga[7] = '/\[img\](.*)\[\/img\]/iU';
$slika = preg_replace($pretraga[7], '$1', $neki_tekst);
list($width, $height, $type, $attr) = @getimagesize($slika);
Ti posle preg_replace ne dobiješ URL u promenljivoj $slika već ceo tekst gde je [img]url[/img] zamenjeno samim URL-om, ali ceo tekst i dalje ostaje. Nakon toga, logično je da kad taj string pošalješ na getimagesize ne dobiješ ništa jer nisi poslao validan url/filename?!