j'avance : ce qui pose probleme ici :
if (preg_match('#(<body)(.*)(</body> )#i',$mapage, $matches))
c'est le "/" de </body>.
car if (preg_match('#(<body)(.*) fonctionne bien.
donc j'echape le slash, if (preg_match('#(<body)(.*)(<\/body> )#i',$mapage, $matches))
rien à faire, ça marche pas...
si quelqun pouvais m'aiguiller, ça serait avec grand plaisir...