Проблема php с функцией и eval в массиве

У меня есть функция:

function selects($sql,$tmpl) { preg_match_all('/{[^}]*}/', $tmpl, $m); foreach($m[0] as $key => $val) { $find[] = $val; $replace[] = '$row[\''.str_replace(array('{','}'),"",$val).'\']'; } eval($replace); while($row = mysql_fetch_array($sql)) { $selects .= str_replace($find, $replace, $tmpl)."\n"; } return $selects; } echo selects($country_sql,'<option value="{id}">{name}</option>'); 

Он выводит:

 <option value="$row['id']">$row['name']</option> 

Он должен выводить:

 <option value="1">something</option> <option value="2">something</option> ... 

Есть идеи ?

Я написал эту функцию, потому что у меня много разных вариантов, и мне нужны разные шаблоны для них.

Благодарю.

Related of "Проблема php с функцией и eval в массиве"