bys się troche przespał to sam byś rozwiązał

<?php
$str=preg_replace("#<([^[:space:]]*)([:space:][^>]*[^/])?>[[:space:]]*</1>#si","",$str); ?>
powinno latać - pisane z palca
w zamyśle skrypt wyłapuje wszystkie tagi puste (łącznie z tymi które zawierają miedzy sobą tylko znaki białe i je wywala - skrytp pominie takie sekwencje znaków
Kod
<a/></a>
<a /></a>
<a cos /></a>
<a cos="a"/></a>
<a cos="b" /></a>
itd
natomiast zamieni takie
Kod
<a></a>
<a cos></a>
<a b="c"></a>
itd
można to oczywiscie jeszcze podrasowac - ale mi sie nie chce a sam pogłówkowac tez mozesz