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

Beitrag lesen

Hallo,

ich bin grad dabei einen String mit RegExp auf Variablen zu untersuchen und diese dann
in ein Array zu hinterlegen.

Hier der Inhalt vom String (aus einer anderen php Datei eingelesen):

<html>
<body>

<?php

global $var0;
$var1 = 1;
$var2.= 2;
$var3+=$var4.$var5;
$GLOBALS["$var6"] = "next";
$GLOBALS[$var7] = "next";
$var8 = "$var9$var10 $var11/Berta";
?>
</body>
</html>

Mein RegExp Versuch:

preg_match_all("/([$].*?)[\s.="';,+-/$]/",$string, $res);

for($i=0;$i<count($res[1]);$i++)
echo $res[1][$i];

Und hier das Ergebnis der echo Ausgabe:

$var0
$var1
$var2
$var3
$var4
$var5
$GLOBALS[
$var6
$GLOBALS[
$var8
$var9
$var11

Wie man unschwer erkennen kann, ist der reguläre Ausdruck in preg_match_all noch nicht ganz
optimal, so werfen [] Klammern und zwei Variablen hintereinander noch Probleme auf.
Ebenso sollten, Standard PHP Vars wie $GLOBALS, $GET etc. nicht als Ergebnis kommen.

Falls sich hier jemand mit RegExp auskennen sollte und noch Tipps hat, wäre ich sehr froh.
Ich komme jedenfalls nicht mehr weiter.

Gruß

ueps