PHPで行うスマートな文字列置換方法の考察。

テンプレートファイルなんかの文字列をスマートに置換する案のメモ。

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);

いかがなものか。