If you do not know what is between the tags, Phill's answer will not work.
This will work if there are no other tags between them, and this is certainly a simpler case. You can replace the div with any tag you need, obviously.
preg_replace('#<div>[^<]+</div>#','',$html);
If there may be other tags in the middle, this should work, but it may cause problems. You should probably go with the DOM solution above if so
preg_replace('#<div>.+</div>#','',$html);
They are not tested.
source share