WIE php-Datei einbinden und verändert ausgaben?

Hallo Leute,

ich habe folgendes Problem:

Ich möchte eine PHP-Datei einbinden (so wie sie Include ausgibt) aber vor der Ausgabe möchte ich mit replace_str noch ein paar Dinge in der Datei verändern.

Ich hab auch schon viele Foren durch, aber leider löst kein Beitrag mein Problem. So funktioniert auch

array(include(„myFile.php“));

nich.

Hat jemand eine Lösung?

Gruß
Stephan

Hallo Stephan,

verräst Du uns auch, warum Du nicht die Änderungen direkt im PHP-Code vornimmst? Deine Idee, das PHP-Script erstmal was falsches rechnen zu lassen und die Ausgabe dann „zu verbessern“ scheint mir etwas abwegig.

MfG Georg V.

Hallo,

es handelt sich ja nicht um etwas falsches was das Script „berechnet“, ich möchte hinterher nur eine Ergänzung vornehmen, die sich aber eben ständig ändern kann. Damit ich aber nicht ständig die Datei ändern muss, möchte ich dies mittels „PHP-Nachbearbeitung“ lösen.

Gruß
Stephan

Hallo,

es handelt sich ja nicht um etwas falsches was das Script
„berechnet“, ich möchte hinterher nur eine Ergänzung
vornehmen, die sich aber eben ständig ändern kann. Damit ich
aber nicht ständig die Datei ändern muss, möchte ich dies
mittels „PHP-Nachbearbeitung“ lösen.

Ein paar Hinweise zum Sprachgebrauch. Du möchtest
ein ‚HTML-Template‘ (die abstrakte Ausgabe) erstellen,
möchtest dieses dann mit einem PHP-Programm einlesen,
möchtest dann die aktuellen Daten oder Werte eintragen
und die dann ‚fertige‘ oder ‚konkrete‘ HTML-Ausgabe an
den Brauser des Aufrufenden raussenden.

Dazu erstellst Du eine reine HTML-Datei, in der
Du die veränderlichen Teile mit einem Muster
kennzeichnest, z.B.:

[anzeige1.tpl]

 ...

**$$TITLE$$**  **$$HAUPTUEBERSCHRIFT** 
 ...

 ...

In Deiner PHP-Seite (die eigentlich aufgerufen wird,
z.B. index.php) öffnest und liest Du diese
Template-Datei mit:

 $html = file\_get\_contents('anzeige1.tpl');

Dann ersetzt Du die ‚$$$xyz$$$‘-Variaben
durch die aktuellen Werte (preg_replace)
und gibst die geänderte Seite aus:

 ...
 echo $html;
 ...

Das wars eigentlich schon.

Alternativ könntest Du ein „fertiges“
Template-System verwenden, das beste ist
meiner Meinung nach „Smarty“.

==> http://www.smarty.net/rightforme.php

Grüße

CMБ

Hi,

ganz so einfach ist es nicht.
Es ist eine PHP-Datei, in der ebenfals ein Code ausgeführt wird.
Jene Datei soll, so wie beim Befehl „include“ ersteinmal verarbeitet werden, so das die PHP-Codes ausgeführt werden. Diese fertige Datei (die dann keine PHP-Elemente mehr enthält) soll vor der Ausgabe allerdings, genauso wie ein „HTML-Template“ gewisse Variablen verändern, und dann ausgegeben werden.

Ich hab die Vermutung das geht wohl nicht :stuck_out_tongue:

Gruß
Stephan

Hallo

ganz so einfach ist es nicht.

Aha!

Es ist eine PHP-Datei, in der ebenfals ein Code ausgeführt
wird. Jene Datei soll, so wie beim Befehl „include“ ersteinmal
verarbeitet werden, so das die PHP-Codes ausgeführt werden.
Diese fertige Datei (die dann keine PHP-Elemente mehr enthält)
soll vor der Ausgabe allerdings, genauso wie ein
„HTML-Template“ gewisse Variablen verändern, und dann
ausgegeben werden.

OK, das hört sich trotzdem ein wenig nach einem
„verkorksten Design“ an. Möglicherweise wäre es
gesünder, das auf normale Templates aufzuteilen.

Ich hab die Vermutung das geht wohl nicht :stuck_out_tongue:

Doch, geht: ==> http://de.php.net/ob_start

 ...
 ob\_start() kann über den optionalen Parameter 
 output\_callback ein Funktion zur Nachbearbeitung 
 der Pufferinhalte mitgegeben werden. Die Funktion 
 sollte als einzigen Parameter einen String erwarten 
 und auch einen String als Rückgabewert zurückliefern. 
 ...

Grüße

CMБ

1 Like