2011-09-29 5 views
0

J'ai une page générée dynamiquement avec du BBcode. Par exemple j'ai un nommé [PHP]file.php[/PHP] ..inclure à partir du tampon de sortie?

La sortie est mise en mémoire tampon en utilisant ob_start("parser);. Est-il possible de remplacer [PHP]file.php[/PHP] par include("file.php"); sur le tampon de sortie?

<?php 
function parser($buffer){ 
    //This is where I want 'it to happen' 
} 

ob_start("parser"); 
?> 
<html> 
.......... 
<body> 
Some text<br /><br /> 
[PHP]file1.php[/PHP]<br /><br /> 
More text..<br /><br /> 
[PHP]file2.php[/PHP] 

<?php 
ob_end_flush(); 
?> 
+0

J'espère que vos utilisateurs ne fournissent pas ce BBCode. –

+0

Pourquoi les codes '' ne vous conviennent-ils pas? Vous n'aurez pas besoin de coder quoi que ce soit pour cela, c'est une fonctionnalité intégrée de la langue. – hakre

Répondre

-1

Sure; le remplacer par un appel à include() exécutera file.php et ajoutera la sortie au tampon. Assurez-vous de faire quelques vérifications sur le nom de fichier avant de l'inclure, pour empêcher l'injection de script à distance, etc.

+0

Hmm .. Pensez que je vais être plus précis. Disons que j'ai cette page: Edit: http://pastebin.com/iEC8naFM Comment puis-je remplacer les deux [PHP] avec include? Puis-je simplement remplacer le texte par Ou ????? – Elias

+0

Je pense que vous pouvez, oui. As-tu essayé? – Rijk

+0

Cela produit simplement du texte brut. C'est ma fonction d'analyseur: http://pastebin.com/7fsmwPD4 – Elias

Questions connexes