[php] Includowanie pliku w wybranym miejscu

Witam,

temat może jest trochę mylący (nie mogłem wymyślić czegoś lepszego) ale po kolei:

Ostatnio zacząłem tworzyć własny, prosty system szablonów. Napisałem taką oto klasę:

<?

class Template {  


	//Plik z adresem szablonu:

	private $tpl_file;


	//Zmienna z kodem strony:

	private $tpl_source;


	public function __construct($tpl_file) {  

        $this->tpl_file = $tpl_file;

		$this->tpl_source = file_get_contents($this->tpl_file); 

    } 


	public function replace_file($file_language) {

		$file = fopen($file_language, 'r');


		if(!$file)

			echo 'Nie odnaleziono pliku: '.$file_language;

		else{

			while($line = fgets($file)){

				$string = explode('=',$line);

				$this->tpl_source = str_replace($string[0], $string[1], $this->tpl_source);

			}

			fclose($file);

		}

	}


	public function replace_string($from, $to){

		$this->tpl_source = str_replace($from, $to, $this->tpl_source);

	}


	public function view(){

		echo $this->tpl_source;

	}

}

?>

I wszystko działa jak trzeba. Mam tylko problem w wstawieniem skryptów. Prosty przykład, w kodzie szablonu mam taki kawałek:
{$tresc}
Zamieniam go tak:_$tpl->replace_string(’{$tresc}’, plik($_GET[‘go’]));_Funkcja plik:

function plik($plik){


	$plik = 'pa/'.$plik.'.php';


	if($plik = file_get_contents($plik))

		return $plik;


	else

		echo 'Nie odnaleziono pliku';

}

I na ekranie pojawia się takie coś:

123uaj.jpg

Kod html wyświetla się poprawienie jednak php nie działa.

Próbowałem również zamienić {$tresc} na includowanie pliku jednak wtedy nic się nie pokazuje.

A więc teraz moje pytanie: Jak można wkleić ten kod php tak żeby działał poprawnie i wyświetlał się w odpowiednim miejscu?

A, do jakiego pliku ‘inkludujesz’ czyli jakie ma rozszerzenie ten plik. Jeśli html to raczej nie zdziała i czy serwer obsługuje język php bo nie wszystkie darmowe serwery obsługują.

Php, to jest cały plik (index.php):

<?php

include_once 'class.template.php';


$tpl = new Template('template/index.html');

$tpl->replace_file('template/pl.lng');


$tpl->replace_string('{$tresc}', plik($_GET['go']));


$tpl->view();


?>

Zmieniałem też rozszerzenie pliku z wyglądem (template/index.html) na php ale to nic nie dało, chociaż to nie powinno robić jakiejkolwiek różnicy. I właśnie wszystko działa, oprócz skryptów php.

@edit:

Chyba już wiem o co chodzi. Całą stronę wyświetlam za pomocą echo. Więc powstaje coś takiego:

echo ‘<?php echo(“Abc”); ?>’;

wtedy się nic nie pokazuje :confused: Jak usunę ‘<?php’ i ‘?>’ powstaje takie coś:

echo ‘echo(“Abc”);’;

Jak to się wykona, na wyświetla się: echo(“Abc”);

Ktoś ma może pomysł jak to obejść tak żeby się funkcje wykonywały a nie tyko wyświetlały? Ewentualnie jak inaczej wyświetlić stronę?

Zainteresuj się funkcją eval().

http://php.net/manual/en/function.eval.php

Dzięki, właśnie coś takiego było mi potrzebne.