dey: bei include echo in return umwandeln

Hallo,

ich möchte einem CMS (Toenda mit XML) in den contennt aus der DB ein include unterjubeln um weitere Funktionen zu implemetieren.
Das wird auch leidlich unterstütz: Ersatz-Tags a'la {php} werden vor der Ausgabe geparst.
Wenn ich an dieser Stelle allerdings ein echo irgenwas eingebe landet das irgendwo außerhalb des html-konstruktes.
Mein Versuch wäre es jetzt das inculde mit allen echos in einer Variable zu sammeln und danach {php} mit dem Inhalt der Variable zu replacen.
Geht das? Exakt so wie ich es beschrieben habe sicher nicht, denn das ist schon erfolglos getestet.

bydey

--
-- bydey ist die Signatur und Verabschiedung, nicht der Nick --
-- Navigate all your PHP web projects with  PHP Project Browser--
  1. Hallo dey.

    Mein Versuch wäre es jetzt das inculde mit allen echos in einer Variable zu sammeln und danach {php} mit dem Inhalt der Variable zu replacen.
    Geht das? Exakt so wie ich es beschrieben habe sicher nicht, denn das ist schon erfolglos getestet.

    Du könntest vor dem Include den Ausgabepuffer einschalten und dir danach dessen Inhalt holen.

    Einen schönen Freitag noch.

    Gruß, Mathias

    --
    ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)
    debian/rules
    1. Hello,

      Du könntest vor dem Include den Ausgabepuffer einschalten und dir danach dessen Inhalt holen.

      Eine andere Idee hätte ich jetzt auch nicht.
      Möchte noch hinzufügen, dass es ziemlich gefährlich sein kann, Datenwerte mit include() einzulesen. Wenn man nicht sicher ist, wer in die DB schreiben darf, würde ich das lieber lassen.
      Man könnte sich so Schadcode einhandeln.

      Harzliche Grüße vom Berg
      http://www.annerschbarrich.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau

      1. Hallo,

        Eine andere Idee hätte ich jetzt auch nicht.
        Möchte noch hinzufügen, dass es ziemlich gefährlich sein kann, Datenwerte mit include() einzulesen. Wenn man nicht sicher ist, wer in die DB schreiben darf, würde ich das lieber lassen.
        Man könnte sich so Schadcode einhandeln.

        Gäbe es hier eine alternative zu include? Ich include hier ein umfangreiches Galeriescript, welches ich schlecht direkt einbinden kann.

        Tom

        bydey

        --
        -- bydey ist die Signatur und Verabschiedung, nicht der Nick --
        -- Navigate all your PHP web projects with  PHP Project Browser--
  2. hi,

    Wenn ich an dieser Stelle allerdings ein echo irgenwas eingebe landet das irgendwo außerhalb des html-konstruktes.
    Mein Versuch wäre es jetzt das inculde mit allen echos in einer Variable zu sammeln und danach {php} mit dem Inhalt der Variable zu replacen.

    Möglichkeit 1: Output Buffering verwenden.

    Möglichkeit 2: Script stubenrein machen, und ihm abgewöhnen, per echo überall hinzuk*cken, wo auch immer es sich gerade befindet - sondern "Ausgaben" erst mal in Variablen ablegen.
    Am Ende könnte das per include eingebundene Script dann immer noch entscheiden (bspw. an hand einer im einbindenden Script gesetzten Variable), ob es sein Ergebnis jetzt per echo ausgeben, oder per return zurückgeben möchte - wie, steht in der Beschreibung zu include im Manual.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Hallo,

      hi,

      Wenn ich an dieser Stelle allerdings ein echo irgenwas eingebe landet das irgendwo außerhalb des html-konstruktes.
      Mein Versuch wäre es jetzt das inculde mit allen echos in einer Variable zu sammeln und danach {php} mit dem Inhalt der Variable zu replacen.

      Möglichkeit 1: Output Buffering verwenden.

      Das ist erstmal die Variante erster Wahl und wird getestet

      Möglichkeit 2: Script stubenrein machen, und ihm abgewöhnen, per echo überall hinzuk*cken, wo auch immer es sich gerade befindet - sondern "Ausgaben" erst mal in Variablen ablegen.
      Am Ende könnte das per include eingebundene Script dann immer noch entscheiden (bspw. an hand einer im einbindenden Script gesetzten Variable), ob es sein Ergebnis jetzt per echo ausgeben, oder per return zurückgeben möchte - wie, steht in der Beschreibung zu include im Manual.

      Das script welches ich includen möchte ist ein umfangreiches Galeriescript. Ändern wäre möglich aber 1. aufwendig und 2. ist dann das upgraden gefährdet.

      bydey

      --
      -- bydey ist die Signatur und Verabschiedung, nicht der Nick --
      -- Navigate all your PHP web projects with  PHP Project Browser--