>>312 ううむ、変数の中に "\\n" を含めるとワーニングが出るなあ。
1 行増えるけど、こういう書き方もあるだろうね。
$base = array('$hoge' => "hage", '$foo' => "bar");
$str = '$foo is bar';
$pattern = "(\\\$[A-Za-z0-9]+)";
ereg($pattern, $str, $match);
$str3 = ereg_replace($pattern, $base[$match[1]], $str);
結果は "bar is bar" になる。