テンプレートファイルなんかの文字列をスマートに置換する案のメモ。
1, 配列のキーに置換対象の文字列を、バリューに置換する文字列をセットする。
2, テンプレート読み込み
3, array_keys()、array_values()、str_replace()を使い一気に置換。
例えば以下のような感じ。
■テンプレート側
1個目:{%foo%} 2個目:{%bar%} 3個目:{%baz%}
■PHP側
$template = file_get_contents('/path/to/template.ext'); $vars = array( 'foo' => 'hoge', 'bar' => 'fuga', 'baz' => 'piyo' ); foreach($vars as $varName => $value) $varArray['{%'.$varName.'%}'] = $value; $str = str_replace(array_keys($varArray) ,array_values($varArray) , $template); var_dump($str);
いかがなものか。