Tach!
ich würde das sinngemäß so lösen (nicht getestet):
$var = 5 +2; echo str_replace ( '$var', $var, file_get_contents( "text.txt" ));
So will man das nicht haben, weil dann jede Variable eine Extrawurst braucht.
Man kann ruhig PHPs eingebaute Template-Fähigkeiten verwenden.
Das ist ein Test: <?=htmlspecialchars($var)?>
Somit wird auch gleich noch der Kontextwechsel beachtet. Vorausgesetzt, $var enthält nur Daten und keinen HTML-Code.
Sicherheitshalber die einfachen Gänsefüße benutzen, sonst interpretiert PHP das doch noch als Variable. text.txt ist dann schon eine kleine Template-Datei.
Das ist nicht nur ein (sinngemäßes) "eventuell", sondern garantiertes Verhalten, dass bei doppelten Anführungszeichen das $var nicht literal stehen bleibt.
dedlfix.