What, Kirk doesn't know EVERYTHING about regexp ? ;-) Look what I've just found at www.php.net/manual/function.preg-replace.php :
preg_replace("/(<\/?)(\w+)([>]*>)/e","'\1'.strtoupper('\2').'\3'",$html_body);
This is exactly what we want ! The "e" modifier does the magic. I will have learned something today.