echo und print Befehl ersetzen und code ausführen

  • Themenstarter Themenstarter Lukasz
  • Beginndatum Beginndatum
L

Lukasz

Hallo ich habe noch ein Problem.

Leider weis ich nicht ob das zu realisieren ist, und deswegen wollte ich andere erfahrene phpler fragen. Mir ist da gestern eine super Idee gekommen. Leider bin ich aber bei der Durchsetzung gescheitert!

Ich habe eine Webseite Programmiert mit allem Schnick schnack drum und dran. Alles soweit. Jetzt komme ich eigentlich zu den abschliessendem Aufgaben. Es geht hier um das berühmte ?$site = ... Problem. Ich bin auch ein Jahrelanger erfahrener PHP Programmierer und weis dacher wie sowas funktioniert. Doch ich habe mir das ganze mal etwas anderst vorgestellt. Damit Konflikte zwischen Variablen der Grundscripte der Webseite aus bleiben, include ich das $site Dokument in einer Funktion.
Ich hoffe ihr versteht bislang...

statt
PHP:
include("$site");

eben
PHP:
function site($site){
include("$site");
}

Um uns nicht zu verwirren habe ich die Funktion jetzt mal hier im Beispiel abgekürzt. Sie sieht im westenlichen so aus:

PHP:
function site($site){
$page = file_get_contents("$site");
....
return $rueckgabe;
}

Mein ziel ist es jetzt den echo bzw print Befehl durch $rueckgabe .=
zu ersetzen. Dies ist auch kein Problem bislang! Ich habe das ganze mit file_get_contents("$site") und eregi_replace() realisiert.

Aber nun bin ich soweit das mein PHP Coder der includeten seite in der Variable $page steht. Und nun weis ich nicht wie ich sagen soll, hey PHP führ mal code aus der Variable aus.

Dazu bitte ich euch um eure Hilfe, insbesondere auch weil ich nicht weis wie ich das goolen soll!

Liebe Grüsse aus Reutlingen!
 
Zuletzt bearbeitet von einem Moderator:
Herzlichen Glückwunsch, du hast ein Templatesystem "erfunden", dass dir als
"erfahrenem PHPler" eigentlich bekannt sein hätte müssen. :rolleyes:

Nicht böse sein ;)
 
Also für ein Templatesystem habe ich was einfachres besseres und schnelleres bereits gestern erfunden. Evtl poste ich es mal nach!

Eigentlich hätte mir das auch gleich kommen sollen das stimmt. Aber Eval is auch besser durch preg_replace in der doppelfunktion verwendbart und zwar \\$(.*)/Ue durch "".function func('$//1').""
...
in der unktion dann einfach

$rueckgabe = $$eingabe;
dies verhindert verkürzte Variablen beim ersetzen aus dem String!
Grüsse!
PS. Ja klar aber mir ging es hier auch dabei PHP Code von HTML Codes zu trennen. Ausserdem kann ich so verhindern dass unerwünschte funktionen ausgeführt werden.
Deswegen fragte ich ja um Rat. Man kann so zumbeispiel copy() oder unlink() befehle sperren und usern php intern realisieren lassen, und so im ganze Webspace anbieten o. ä. Ist doch mal ne Idee wert oder?!
Grüsse!
 
Zuletzt bearbeitet von einem Moderator:
Lukasz hat gesagt.:
Also für ein Templatesystem habe ich was einfachres besseres und schnelleres bereits gestern erfunden. Evtl poste ich es mal nach!

Grüsse!
Es ging mir mehr um deinen grundsätzlichen Gedanken, das in eine Funktion zu packen und statt direkter Ausgabe Rückgabewerte zu nutzen. ;)
 
@Tim Comanns

Im ganzen hast du ja recht, aber selbst ist der Mensch. Mal was anderes kann nicht schaden!
 
Zurück