<?php $text = '<b>aaa</b> bbb <div><em></em></div> ccc'; while (true) { $newText = preg_replace('/<([a-z]+)>\s*<\\/\\1>/','',$text); if ($newText==$text) break; else $text = $newText; } echo $newText; ?>