bei include echo in return umwandeln
dey
- php
0 Mathias Brodala0 wahsaga0 dey
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
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
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
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
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
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