2016-11-24 1 views
1

J'essaie de modifier le contenu du tampon de sortie. J'ai quelque chose aime ça:Comment modifier le tampon de sortie?

if($this->page == 'login') 
{ 
       $output = ob_get_contents(); // $output is index.html    
       // have no idea how to modify `$output` 
} 

et mon index.html:

<html> 
    <head></head> 
    </body> 
    if($usr ==null) include 'login.php'; 
     else include main.php; //`main.php` with header bar and footer bar 
    // this's where i want to clean and insert my login form (login.php) 
    </body> 
</html> 

et login.php:

<?php 
    <form> 
     ..... 
    </form> 
?> 

Je le $output mais je veux nettoyer tous et insérer la source de login.php dans le corps afin que tout le monde puisse voir mon formulaire de connexion (css pour le style du site Web). J'ai cherché sur Google et je sais seulement comment obtenir le contenu, nettoyer et vider. Mais je ne vois pas comment modifier le contenu du tampon. Y a-t-il un moyen de le modifier?

Répondre

2

Je ne suis pas sûr de la façon dont le reste de votre code fonctionne. Mais peut-être que vous pourriez utiliser une étiquette pour remplacer. Quelque chose comme ça.

index.html 
<html> 
    <head></head> 
    </body> 
    {{body}} 
    </body> 
</html> 


<?php 
//Logic file 
if($this->page == 'login') 
{ 
    $output = ob_get_contents(); // $output is index.html 
    ob_clean(); 
    ob_start(); 
    include 'login.php'; 
    $login_content = ob_get_contents(); // $output is index.html 
    ob_clean(); 
    $content = str_replace('{{body}}', $login_content, $output); 

    echo $content; 
} 
+0

En fait, je l'ai fait dans mon index.php mais je pense que c'est trop mauvais code. J'ai donc essayé ob_get_content dans l'espoir de modifier la sortie. – Hanata

+0

Cela devrait fonctionner. Votre index.html est-il utilisé comme modèle pour toutes vos pages? Je l'ai mis à jour pour être {{body}}. Vous pouvez l'utiliser pour le remplacer par du contenu provenant de vos autres pages. –

+0

oh chouette !!! U m'a donné une bonne idée. Merci beaucoup. – Hanata