Обрезать любые теги, не являющиеся img, PHPs strip_tags()
будет проще:
$var = strip_tags($var, "<img>");
Удаление только текста является громоздким, и его гораздо проще извлечь, чем удалить в этом случае:
preg_match_all('#<img\b[^>]*>#', $var, $match);
$var = implode("\n", $match[0]);