Jakoże nigdzie nie znalazłem bardzo prostego w obsłudze skryptu, który pozwalałby na tworzenie tzw. template'ów (plików .tpl).

class.tiraethTemplate.php
  1. <?php
  2. function Tpl_Attach($Przed, $Po, $TplDir, $TplFile)
  3. {
  4. $a_TplOpen = fopen($TplDir.&#092;"/\".$TplFile, \"r+\");
  5. $a_Tpl = fread($a_TplOpen, 9999);
  6. $a_Tpl = str_replace($Przed, $Po, $a_Tpl);
  7.  
  8. fclose($a_TplOpen);
  9.  
  10. return $a_Tpl;
  11. }
  12.  
  13. function Tpl_File($Przed, $File, $TplDir, $TplFile)
  14. {
  15. $a_TplOpen = fopen($TplDir.&#092;"/\".$TplFile, \"r+\");
  16. $a_Tpl = fread($a_TplOpen, 9999);
  17.  
  18. $a_FileOpen = fopen($File, &#092;"r+\");
  19. $a_File = fread($a_FileOpen, 9999);
  20.  
  21. fclose($a_FileOpen);
  22.  
  23. $a_TplFile = eval($a_File);
  24.  
  25. $a_Tpl = str_replace($Przed, $a_TplFile, $a_Tpl);
  26.  
  27. fclose($a_TplOpen);
  28.  
  29. return $a_Tpl;
  30. }
  31. ?>


Są tutaj dwie funkcje:

Tpl_Attach - służy ona do zmiany danego stringu $Przed w pliku .tpl na zawartość jakiejś zmiennej w $Po
Tpl_File - służy ona do wykonania kodu php zawartego w pliku $File i wrzuceniu go w miejsce stringu $Przed


demo.php
  1. <?php
  2. include(&#092;"class.tiraethTemplate.php\");
  3.  
  4. $m_File = file(&#092;"dane.txt\");
  5.  
  6. for($i=0; $i<count($m_File); $i++)
  7. {
  8. $Dane = explode(&#092;"||\", $m_File[$i]);
  9.  
  10. $Title = $Dane[0];
  11. $Data = $Dane[1];
  12. $Body = $Dane[2];
  13.  
  14. $Template = Tpl_Attach(array('{TITLE}', '{DATA}', '{BODY}'), array($Title, $Data, $Body), 'tpl', 'news.tpl');
  15.  
  16. echo $Template;
  17. }
  18.  
  19. ?>


Plik ten powoduje wyswietlenie newsow z pliku dane.txt w formie podanej w tpl/news.tpl


demo2.php
  1. <?php
  2. include(&#092;"class.tiraethTemplate.php\");
  3.  
  4. $Template = Tpl_File('{CODE}', 'demo2.txt', 'tpl', 'code.tpl');
  5.  
  6. echo $Template;
  7.  
  8. ?>


demo2.txt
Kod
highlight_string('<? $String = "OK"; ?>');


Plik demo2.php spowoduje wykonanie się funkcji zawartej w demo2.txt smile.gif Czyli wyświetli nam pokolorowany kod php...

Teraz mały opis funkcji:

Tpl_Attach:
$Przed - tutaj wrzucamy string, który ma być podmieniony
$Po - tutaj wrzucemy nazwę zmiennej, w której znajduje się text który podmienimy zamiast $Przed
$TplDir - nazwa katalogu z szablonami
$TplFile - nazwa pliku z szablonem jaki chcemy wykorzystać

Tpl_File:
$Przed - tutaj wrzucamy string, który ma być podmieniony
$File - tutaj wrzucemy nazwę pliku którego zawartość zostanie wykonana w eval() zamiast $Przed
$TplDir - nazwa katalogu z szablonami
$TplFile - nazwa pliku z szablonem jaki chcemy wykorzystać


Mam nadzieję, że skrypt się spodoba smile.gif Pozdrawiam i proszę o komentarze!!


edit:
Przykladowy plik z szablonem:
Kod
<font face="Verdana" size="3">Tytuł: {TITLE}</font><br />
<font face="Verdana" size="1">Data: {DATA}</font><br /><br />
<font face="Verdana" size="2">Body: {BODY}</font><br /><br /><br />