Newsgroup: it.comp.www.php
Titolo: [TEMPLATE] PROBLEMA CODICE AGGIUNTIVO

salve allora sto usando un piccolo sistema template
in che senso , mi spiego meglio
ho una pagina html (.php) con dentro del codice html e dei codici
tipo
#titolo
#uno1 #due ecc.
da codice carico questo file così :
$file_content = implode("",file(file_template));
e poi sostituisco (con eregi_replace)  i codice #xxxx una valore (la mia
stringa)
e tutto funziona bene
ora io vorrei
fare delle "pre-eleborazioni" nel senso supponiamo che il mio dato fosse una
data io ho una funzione che stampa la data (stampadata) vorrei poterla
mettere nel template e metterli un parametro
tipo :
dal template html:
stampa_data(#mioparametro)  in pratica il mio "mini-motore-template"
dovrebbe
prendere la pagina html,
sostituire tutti i valore
ed infine interpretare il codice php
come posso fare ? spero di essere stato chiaro grazie ciao .-- )

 come posso fare ? 
Questa e' la terza domanda oggi al riguardo.
http://www.php.net/eval
-- 
I am what I am, I do what I can
Sei un newbie? Leggi questo 
http://url.repository.biz/go/3C
Vuoi supportarmi? 
http://url.repository.biz/go/3E
Do. Or do not. There is not try.

 
http://www.php.net/eval
non ci avevo pensato , cmq eval lo uso quando lo butto in output ...


Hai pensato ad utilizzare sistemi di template già belli e pronti e 
decisamente testati come SMARTY o WACT?

 ha scritto nel messaggio
news:41950CF2...@litefarm.com...

Sinceramente no questa è una cosa veloce...
se decido magari lo faccio da me :-)

 ha scritto nel messaggio
news:je9ld.317783$35.14...@news4.tin.it...

Cmq con eval non ho risolto vi faccio vedere il mio template
<div style="border: 1px solid #FF6347; width: 500px; color: #0000CD;">
<div style="border-color: t; text-align: center; background-color: #FFA07A;
color: White;">
ATTENZIONE
</div>
<!-- TITOLO -->
</br>
<!-- CAMPO1 --><!-- CONTENUTO1 -->
</br>
<!-- CAMPO2 --><!-- CONTENUTO2 -->
</br>
<!-- CAMPO3 --><!-- CONTENUTO3 -->
</br>
<!-- CAMPO4 --> <?=stampa_data(<!-- CONTENUTO4 -->);?>
</br>
</div>


ci sto provando ma non trovo soluzioni avete qualche info ?

 ci sto provando ma non trovo soluzioni avete qualche info ?
1. replace dei token
2. esecuzione del codice:
$code = ' ?' . '>' . $template . '<' . '? php ';
eval ($code);



io sto facendo cosě
1-replace token
2-aggiunta slash
3-sostituzione <? ?> con ". e ".
sai che in questo momento stavo facendo proprio quello ? stavo cercando una
reg-exp che lo facesse con eregi.repace..
<? in  ."
e ?> in ".

 e ?> in ".
Hai provato il codice proposto?



non in questo momento ma fra le varie prove che ho fatto è passato pure
quello.
il problema è che il mio template ha del codice html PURO con del codice php
innestato...
[codice] //lo metto per completo così capisci il contensto adesso è
modificato per sto facendo prove...
   $this->prendiDatiDatabase();
   $parform = addslashes($this->insertParForm());
   $btn = addslashes ($this->insertBotton());
   $det = addslashes ($this->insertParDettaglio());
   $hid = addslashes($this->insertHiddenFields());
  $out = "
   echo \"
   <form  $parform>
    ".
    addslashes ($this->insertParDettaglio())
    ."
    $hid
    $btn
   </form>
       \";
   ";
$out = eregi_replace("<?/./g" , "xx",$out); //è sbagliata
eval($out);
[/codice]
[template] //per test
<div style="border: 1px solid #FF6347; width: 500px; color: #0000CD;">
<div style="border-color: t; text-align: center; background-color: #FFA07A;
color: White;">
ATTENZIONE
</div>
<!-- TITOLO -->
</br>
<!-- CAMPO1 --><!-- CONTENUTO1 -->
</br>
<!-- CAMPO2 --><!-- CONTENUTO2 -->
</br>
<!-- CAMPO3 --><!-- CONTENUTO3 -->
</br>
<!-- CAMPO4 --> <!-- CONTENUTO4 -->
</br> <? phpinfo();?>
</div
[/template]

 pure quello.
IMHO stai facendo del lavoro inutile.
<?php // engine.php
$template_src = file_get_contents ('template.htm');
$patterns[0] = "/<!-- TITOLO -->/"; 
$patterns[1] = "/<!-- CAMPO1 -->/"; 
$patterns[2] = "/<!-- CONTENUTO1 -->/"; 
$replacements[2] = "Il titolo"; 
$replacements[1] = "Il campo 1"; 
$replacements[0] = "Il contenuto del campo 1"; 
$template = preg_replace ($patterns, $replacements, $template_src); 
$code = ' ?' . '>' . $template . '<' . '?php ';
eval ($code);
?>
<!-- inizio template.htm -->
<div style="border: 1px solid #FF6347; width: 500px; color: #0000CD;">
<div style="border-color: t; text-align: center; background-color:
#FFA07A;
color: White;">
ATTENZIONE
</div>
<!-- TITOLO -->
</br>
<!-- CAMPO1 --><!-- CONTENUTO1 -->
</br>
<!-- CAMPO2 --><!-- CONTENUTO2 -->
</br>
<!-- CAMPO3 --><!-- CONTENUTO3 -->
</br>
<!-- CAMPO4 --> <!-- CONTENUTO4 -->
</br> <?php phpinfo(); ?>
</div>
<!-- fine template.htm -->
