- var_dump: documentation ( source)
- preg_match: documentation ( source)
<?php
$body = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META content="text/html; charset=windows-1251" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 11.00.9600.17105">
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<FONT size=2><DIV align=center>
<TABLE borderColor=#0e0016 cellSpacing=2 borderColorDark=#ba0000 cellPadding=0 width=860 bgColor=#f5f5fa borderColorLight=#ba0000 border=0></TABLE>
</BODY>
</HTML>';
$body2 = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML><HEAD><META content="text/html; charset=windows-1251" http-equiv=Content-Type><META name=GENERATOR content="MSHTML 11.00.9600.17105"><STYLE></STYLE></HEAD><BODY bgColor=#ffffff><FONT size=2><BODY>test<BODY>test2</BODY></BODY><DIV align=center><TABLE borderColor=#0e0016 cellSpacing=2 borderColorDark=#ba0000 cellPadding=0 width=860 bgColor=#f5f5fa borderColorLight=#ba0000 border=0></TABLE></BODY></HTML>';
$pattern = "#(<body.*?>.*?</body>)*#is";
preg_match($pattern, $body2, $matches);
var_dump($matches);