эм. я не совсем конечно понимаю, что вы хотите сделать изменением расширения,
НО так не проще?

PHP код:
$newfilename = preg_replace('/.(jpeg|jpg|gif|png|tiff|bmp|ico)/', '', $filename);
ну или как вариант

PHP код:
$newfilename = preg_replace('/.(jpeg|jpg|gif|png|tiff|bmp|ico){1,4}/', '', $filename);