formatter le retour de ob_get_contents...

formatter le retour de ob_get_contents... - PHP - Programmation

Marsh Posté le 21-04-2009 à 15:30:06    

Bonjour,
 
Je souhaite récupérer dans un string, le contenu entier d'une page que je vient de générer.
Je fais donc un petit ob_start();, puis en fin de page un ob_get_contents();, ça marche bien.
 
Par contre, comme j'aime bien le code propre et indenté, j'aimerai qu'il y ai des \n la ou il le faut, ainsi que les \t au bon endroit, tels qu'ils le sont sur le html "brut", (afficher la source & co).
 
Je me demande comment faire, je pense qu'en preg_matchant il y a moyen de s'en sortir, et encore, en se prenant la tête (je ne parle même pas des \t)...
 
Du coup avant de me lancer dans ce me**ier, je suis ouvert a toutes propositions.
 
 
Merci d'avance !
 
 
édit : ou alors ouvrir mon string comme du xml, puis le traiter, ça serais plus simple que du preg_matchage en fait...


Message édité par vhAnton le 21-04-2009 à 15:31:40
Reply

Marsh Posté le 21-04-2009 à 15:30:06   

Reply

Marsh Posté le 21-04-2009 à 15:35:19    

Oulala je dit n'importe quoi... Une seconde

Reply

Marsh Posté le 21-04-2009 à 15:35:26    

Laisse tomber preg_match, ce n'est pas fait pour ça. Pour l'ouverture en XML (via l'API DOM) ça fonctionnera, mais beaucoup trop lourdinge.
 
Pourquoi ne pas faire le formattage directement à la génération du code [:petrus dei]

Reply

Marsh Posté le 21-04-2009 à 15:46:59    

Oui preg_match j'ai abandonné.
 
Le truc, c'est que j'ai donc du html, prenons un cas école :
 

Code :
  1. <html>
  2.    <head>
  3.       <title>!!</title>
  4.    </head>
  5.    <body>
  6.       <h1>Mon Cas Ecole</h1>
  7.    </body>
  8. </html>


 
Je l'obtient dans un string monString via ob_get_contents();
Si je fait un  

Code :
  1. echo htmlentities($monString);


 j'obtient

Code :
  1. <html><head><title>!!</title></head><body><h1>Mon Cas Ecole</h1></body></html>


 
Par contre, si je fait un

Code :
  1. echo $monString;


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...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed