Template Parser (Anfänger) - PHP einfügen?

Kann man sowas nicht einbauen ohne die newsletter.php zu ändern?
Weil diese Datei ist ziemlich komplex und es sind viele echo Befehle u.s.w. vorhanden.

Geht es nicht das man diese Datei direkt als Platzhalter ausgeben kann ?
Das man direkt include("/newsl/newsletter.php"); einem Platzhalter zuweisen kann.

Ja nur include geht ja nicht :)
 
Du musst entweder das Script umschreiben, sodass der Output in eine Variable kommt und nicht ausgegeben wird, oder mit Output Control arbeiten.

Kleines Beispiel:
PHP:
ob_start();
include("meinscript.php");
$meinscriptoutput=ob_get_contents();
ob_end_clean();
echo $meinscriptoutput;
Dadurch wird der Output vom includeten meinscript.php erstmal nicht an den Browser geschickt, in die Variable $meinscriptoutput geholt und dann per echo ausgegeben. Anstelle der Ausgabe von echo kannst Du natuerlich auch anderweitig mit der Variable arbeiten, z.B. einen Platzhalter ersetzen.
 
Wie würde denn der Befehl aussehen für den Platzhalter:

echo $meinscriptoutput;

Das er hier Funktioniert:
"NEWSLETTER" => $meinscriptoutput);
 
@ka/na:
Ja das stimmt so. Einfach noch in dem Array, wo die PLatzhalter stehen dioesen Eintrag dazu machen.
 
Der gepostete Link zu str_replace() haette Dir da noch etwas weiterhelfen koennen.
Du musst auch etwas lesen und auch mitdenken, sonst bringt Dir all unsere Hilfe nicht viel.
Es ist ja okay, dass Du noch Anfaenger bist, wir haben ja alle mal klein angefangen, aber etwas Eigeninitiative kann nie schaden.
Das nur mal so am Rande.

PHP:
$template=str_replace("newsletter",$newsletter,$template);

Wie gesagt, das Template musst Du in eine Variable lesen, hier $template.
Darin befindet sich das Wort "newsletter" welches gegen den Inhalt der Variable $newsletter ausgetauscht werden soll.

Ah, gut. Ich sehe Du hast offensichtlich mitgedacht. Das wollen wir hier sehen. ;)
 
Ach mist wieder zu früh gefreut, es kommt zu keiner Ausgabe..

Hier meine Texte:

//Newsletter
ob_start();
include("/newsl/newsletter.php");
$newsletter=ob_get_contents();
ob_end_clean();

//Definition der Variablen durch die die Platzhalter ersetzt werden.
$title = $_array["title"];
$css = $_array["css"];
$template = $_array["template"];
$text = $_array["text"];
$pic_id = $data["pic_id"];
$pic_username = $data["pic_username"];
$newsletter = $data["newsletter"];

//Array mit den Platzhaltern (Keys) und den Inhalten.
$var_array = array("TITLE" => $title,
"CSS" => $css,
"TEXT" => $text,
"PICID" => $pic_id,
"PICUSERNAME" => $pic_username,
"PARTNER" => $link_all,
"NEWSLETTER" => $newsletter);

Hmm, nochmal von neu anfangen, was ist falsch?
 
reptiler hat gesagt.:
PHP:
$template=str_replace("newsletter",$newsletter,$template);

Habe das jetzt hinzugefügt also:

//Newsletter
ob_start();
include("/newsl/newsletter.php");
$newsletter=ob_get_contents();
ob_end_clean();
$template=str_replace("newsletter",$newsletter,$template);

Nur zur Augabe kommt es nicht, ich habe mir deinen Text bestimmt 20x durchgelesen, war das jetzt der richtige Code, oder musste ich den verändern. Ich könnte am liebsten das ganze hinschmeissen, seit 3 Tagen versuche ich das PHP zeug zu verstehen. Aber bis jetzt habe ich nur ganz wenig verstanden.
 
Das war nur ein Beispiel.
Ich weiss nicht ob $template Dein Template beinhaltet, und ich weiss auch nicht ob der gesuchte Ausdruck wirklich "newsletter" ist.
Der Befehl ist auch nicht fuer die Ausgabe zustaendig.
Das Template wird nach ersetzen aller Platzhalter ausgegeben.
 
Zurück