Ausgeführten PHP-Code in Variable schreiben

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Ausgeführten PHP-Code in Variable schreiben

    Hallo Freunde der hohen Kunst,

    ich breuchte mal wieder etwas Support von Euch.

    Ich habe eine Include-Datei und ein HTML-Template.
    Jetzt soll aber das script in der Include-Datei ausgeführt werden und das Ergebnis dann durch meine Hauptdatei per erger_replace() einen Platzhalter im HTML-Template ersetzen.

    Mein Problem ist nun, dass wenn ich die Datei einfach includen will ($content = include("tuwas.inc") ) die datei vor meine HTML-Datei gehängt wird, da sie auch HTML-Tags enthält.

    Wenn ich mir die dann aber folgendermassen einlese ($content = implode("",file("tuwas.inc")) ) zeigt er mir dann in der Ausgabe den quellcode an, ohne den aber auszuführen.

    Wie schaffe ich es also, dass der Code einer Datei geparst wird und dann die Ausgabe (in menem Fall eine Site-Map Tabelle) in eine Variable geschrieben werden kann, um diese dann in einem Template zu ersetzen?

    Wäre Euch für schnelle Hilfe sehr Dankbar.

    Grüße, Andi
    Zuletzt geändert von andik2000; 04.10.2002, 17:40.

  • #2
    mit eval vielleicht ?
    meine Projekte bestaunen: http://www.kleiza.de

    Kommentar


    • #3
      Hmm, so ganz will das noch nicht.

      Was muss ich den machen, damit ich das Ergebnis meiner include-Datei dann als String in der Variable $content habe?

      Thanx, Andi

      Kommentar


      • #4
        $content = implode("",file("tuwas.inc")); geht das nicht ?

        poste mal, wie so deine include datei aussieht ?
        meine Projekte bestaunen: http://www.kleiza.de

        Kommentar


        • #5
          Ne, das war meine erste Idee, da gibt er mir nur den Quellcode aus, ohne diesen aber zu parsen.

          Die ganze Include-Datei zu posten wäre etwas lang, da sie in einer Tabelle eine Struktur in vier Ebenen erzeugt. Aber im grossen und ganzen mal hier vereinfacht dargestellt:

          <table>
          <? while ($cur = mysql_fetch_array($res)) { ?>
          <tr>
          <td>
          <? print $cur['menu'] ?>
          </td>
          <tr>
          <? } ?>
          </table>

          Das Ganze quasi noch mit Link um den Namen und eben vier Ebenen tief verschachtelt.

          Wäre echt super, wenns dafür einen Befehl geben würde. Ansonsten müsste ich das Ding mit PHP brechnen lassen und den ganzen Tabellen-Code nacheinander reinprinten. Das wäre ein ziemlicher Akt.
          Leider kann ich den Code nicht direkt in die Ziel-Datei packen, da diese als Template dienen soll und absolut frei von jedem Code sein muss.
          Deshalb habe ich dort Kommentare an die jeweiligen stellen gesetzt. Dann lese ich die HTML-Datei ein und lasse die Kommentare per ereg_replace() mit dem jeweiligen Code ersetzten.

          Vieleicht gibts ja doch noch Hoffnung.
          Bin jetzt jedenfalls erst mal im Wochenende.
          Bis Montag...

          Viele Grüße, Andi

          Kommentar


          • #6
            PHP-Code:
            ob_start();
            include(
            "tuwas.inc");
            $content=ob_get_contents();
            ob_end_clean(); 
            carpe noctem

            [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
            [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

            Kommentar


            • #7
              Jawohl, das ist es !!!!

              1000 Dank,

              Andi

              Kommentar

              Lädt...
              X