Carsten: Sehr schweres Problem mit regulären Ausdrücken

Beitrag lesen

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