Hi Y,
So schwer ist das nun nicht, nur kann es beliebig aufwändig werden.
Um alle Variablen rauszufischen würde ich einfach nur nach gültigen Namen suchen:
/([$][_a-z][_a-z0-9]*)/i
Das sollte in deinem Testfall erstmal alle Fälle richtig rausfischen.
Kommen wir zu den vordefinierten Variablen ($GLOBALS ...).
Entweder du erkennst sie anhand ihrer Schreibweise (komplett Grossbuchstaben) oder anhand ihres Namens.
komplett Grossbuchstaben wäre:
/(\$[A-Z]+)/
und um sie 'loszuwerden' einfach vorher gegen "" ersetzen.
Ansonsten die festen Namen einfach per strtr(); gegen "" austauschen.
Ebenso solltest du alles was in 'einfachen Anführungszeichen' steht vorher entfernen, ggfls. auch Kommentare.
Das ist _korrekt_ nur mit RegExp nicht möglich, ggfls. aber gut genug.
Fallstrick sind ausserdem escapte $-Zeichen ("$aetsch").
Gruss,
Carsten