Pensavo di avere pių risposte 
Ovviamente scherzo, nel frattempo, come al solito, ciō sbattuto la testa fino a farmi male, arrivando alla conclusione...
Posto il codice, perchč magari a qualcuno potrebbe servire...
Ho risolto "fabricando" questo script:
Codice PHP:
<?php
function get_include_contents($filename) {
if (is_file($filename)) {
ob_start();
include $filename;
$contents = ob_get_contents();
ob_end_clean();
return $contents;
}
return false;
}
function getTextProcess($sText){
$sPattern = '/\<!--inc\[(.*?)\]-(.*?)-inc\[(.*?)\]--!\>/si';
preg_match_all($sPattern,$sText,$aCont);
for($x=0;$x<count($aCont[2]);$x++){
$sTemp = get_include_contents($aCont[2][$x]);
$sText = str_replace($aCont[0][$x],$sTemp,$sText);
}
unset($sTemp);
return $sText;
}
print(getTextProcess("Oggi tutto ok <!--inc[0]-test.inc.php-inc[0]--!> forse si <!--inc[1]-test2.inc.php-inc[1]--!> yessssssss"));
?>
La funzione "get_include_contents" l'ho presa da php.net mentre il resto l'ho fatto io.
Semplicemente passando una stringa del tipo "<!--inc[0]-test.inc.php-inc[0]--!>" all'interno di un testo (quindi proveniente anche da un CMS), la stringa viene ripassata dalla funzione getTextProcess (l'ho chiamata cosė perchč in realtā restituisce il testo processato), che restituisce gli include giā processati (quindi senza bisogno di ricorrere a eval).
Con un'espressione regolare conto quanti sono gli include (che devono essere numerati 0,1..n) e sostituisco l'include stesso, processato da "get_include_contents".
se per esempio il mio include si chiama "ciccio.inc.php", all'interno del testo metterō:
<!--inc[0]-ciccio.inc.php-inc[0]--!>
se ho due include "ciccio.inc.php" e "pincopallo.inc.php" metterō:
<!--inc[0]-test.inc.php-inc[0]--!>
<!--inc[1]-pincopallo.inc.php-inc[1]--!>
e cosė via...
Se volete cambiare la forma per specificare un include, dovete cambiare anche l'espressione regolare...
E' tutto, ciao ciao a tutti, MAX