0

これは少し奇妙なものです。テンプレートを選択し、それを含めるか、%0、%1、%3 などの変数を解析するように設計された関数を作成しました。これは現在の関数です:

if(!fopen($tf,"r")){
    $this->template("error",array("404"));
}
$th = fopen($tf,"r");
$t = fread($th, filesize($tf) );
$i=0;
for($i;$i<count($params);$i++){
    $i2 = '%' . $i;
    $t = str_replace($i2,$params[$i],$t);
}
echo $t . "\n";
fclose($th);

$th は、テンプレート ファイルへの相対ディレクトリです。私の問題は、これらのファイル内で PHP を実行すると同時に、文字列変数 %0 %1 などを置き換えることができるようにする必要があることです。どうすればこれを試みることができますか?

4

1 に答える 1

0

コメントで言ったように、Smarty のようなテンプレート エンジンの方がおそらく役立つと思いますが、出力バッファリングではなく、eval()

このようなもの

ob_start();
include "your_template_file.php";
$contents = ob_get_contents();  // will contain the output of the PHP in the file
ob_end_clean();

// process your str_replace() variables out of $contents
于 2013-03-29T03:25:31.900 に答える