3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?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><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.*?>.*?</body>).*?#i"; preg_match($pattern, $body2, $matches); var_dump(array_pop($matches));
based on 2KbWi
Output for 4.3.0 - 7.2.0
string(17) "<BODY>test</BODY>"