Oui preg_match j'ai abandonné.
 
Le truc, c'est que j'ai donc du html, prenons un cas école :
 
Code :
 - <html>
 -    <head>
 -       <title>!!</title>
 -    </head>
 -    <body>
 -       <h1>Mon Cas Ecole</h1>
 -    </body>
 - </html>
 
  | 
 
Je l'obtient dans un string monString via ob_get_contents();
Si je fait un  
Code :
 - echo htmlentities($monString);
 
  | 
 j'obtient
Code :
 - <html><head><title>!!</title></head><body><h1>Mon Cas Ecole</h1></body></html>
 
  | 
 
Par contre, si je fait un
Le navigateur va interpréter le html (normal c'est son job), et quand je fais afficher la source, la je vois mon html de $monString, bien indenté, enfin, de la manière dont je l'avais indenté.
 
Du coup je comprend plus trop, je peut faire un nl2br sur monString, mais je ne veut pas rajouter des <br> partout dans mon zouli code, et les tabulations rien n'y fait...