Ersetzen von {{string}} in der PHP-Datei

8

Ich füge eine Datei in eine meiner Klassenmethoden ein und in dieser Datei ist HTML + PHP-Code. Ich gebe eine Zeichenfolge in diesem Code zurück. Ich habe explizit {{newsletter}} geschrieben und dann in meiner Methode Folgendes getan:

%Vor%

Die Zeichenfolge wird jedoch nicht ersetzt. Der einzige Grund, warum ich das tue, ist, dass, wenn ich versuche, die Variable an die eingeschlossene Datei zu übergeben, sie nicht zu erkennen scheint.

%Vor%

Also, wie implementiere ich die String-Ersetzungsmethode?

    
jkushner 25.07.2013, 22:36
quelle

6 Antworten

29

Sie können PHP als Vorlage verwenden. Keine Notwendigkeit für {{newsletter}} Konstrukte.

Angenommen, Sie geben eine Variable $newsletter in Ihrer Vorlagendatei aus.

%Vor%

Um die Variablen zu ersetzen, machen Sie folgendes:

%Vor%

Auf diese Weise können Sie Ihre eigene Vorlagen-Engine erstellen.

%Vor%

Das Beste daran: Sie können bedingte Anweisungen und Schleifen (vollständiges PHP) sofort in Ihrer Vorlage verwenden.

    
bitWorking 25.07.2013, 22:48
quelle
12

Dies ist ein Code, den ich für Templating verwende, sollte den Trick tun

%Vor%     
da-hype 25.07.2013 22:41
quelle
4

vielleicht ein bisschen spät, aber ich sah in etwa so aus.

Das Problem ist, dass include den Dateiinhalt nicht zurückgibt, und eine einfachere Lösung könnte die Verwendung der Funktion file_get_contents sein.

%Vor%     
Octal 18.07.2014 06:16
quelle
3

Verwenden Sie output_buffers zusammen mit PHP-Variablen. Es ist viel sicherer, kompatibel und wiederverwendbar.

%Vor%     
Gustav 26.07.2013 14:43
quelle
0

Nein, dafür nicht einbeziehen. include führt PHP-Code aus. und der Rückgabewert ist der Wert, den die enthaltene Datei zurückgibt - oder wenn es keine Rückgabe gibt: 1.

Was Sie wollen, ist file_get_contents() :

%Vor%     
bwoebi 25.07.2013 22:40
quelle
0

basiert auf @ da-hype

%Vor%     
Denis Dos Santos Silva 26.02.2018 04:12
quelle

Tags und Links