多くの人がテンプレート エンジンを追加することを推奨していることは知っていますが、独自のエンジンを作成する場合は、str_replace を使用するのが最も簡単な方法です。
$index = file_get_contents ("index.bel");
$replace_from = array ('$variable_a', '$variable_b');
$replace_to = array ($var_a_value, $var_b_value);
$index = str_replace($replace_from,$replace_to,$index);
これで単純な変数の置換が完了しましたが、すぐに、より多くのタグ、より多くの機能、およびこれらのようなことを行う 1 つの方法が必要になりますpreg_replace_callback
。{include:file.bel}
最終的には変数を置き換えたり、他のファイルを含めたり、テキストを置き換えたりすることが可能になるので、それを見てみたいと思うかもしれません{img:foo.png}
.
編集:あなたのコメントをもっと読んで、あなたは独自のフレームワークを作成しようとしています。preg_replace_callback
物事を処理するためのより多くの方法を提供するので、見てください。
ここでの非常に簡単な例:
...
$index = preg_replace_callback ('/{([^}]+)}>/i', 'preg_callback', $index);
...
function preg_callback($matches) {
var_dump($matches);
$s = preg_split("/:/",$matches[1]); // string matched split by :
$f = 'func_'.strtolower($s[0]); // all functions are like func_img,func_include, ...
$ret = $f($s); // call function with all split parameters
return $ret;
}
function func_img($s) {
return '<img src="'.$s[1].'" />';
}
ここから、必要に応じて、たとえばすべての機能をクラスに分割するなど、これを (多くの方法で) 改善できます。