Dieter: Variablen Namen ausgeben

Beitrag lesen

Hallo,
also an eine Funktion werden Variablen übergeben
name->anhang
oder
name['array']->anhang

Etc.

Jetzt möchte ich, dass der Variablenname ersetzt wird, aber der Anhang erhalten bleibt. Diese Ersetzung ist etwas kompilzierter mit ein paar IF Anweisungen, darum müsste der Variablen name in einem String stehen.

Hab jetzt folgendes:
function vars($text)
{
echo "<b>".$text[1]."</b>".$text[2]."<br>";
}

$text = 'beispiel->feld['hallo']';
$text = preg_replace_callback("/([1]*)(.*)/si","vars",$text);

Geht soweit und ist genau was ich suche, allerdings soll dieses jetzt am besten als Array zurück gegeben werden, ca. so:
function vars($text)
{
return array($text[1],$text[2]);
//bzw: return $text;
}

Allerdings möchte ich nach dem preg_replace_callback(); auf die einzelnen Array-Elemente zugreifen können, dies geht leider nicht.

P.S. Ich schreibe die Funktion in einer Class, da sieht es dann so aus:
$text = preg_replace_callback("/([a-z]*)(.*)/si",array(&$this,'vars'),$varname);

Und bin kein großer Freund von global Variablen ;)

MFG
Dieter


  1. a-z ↩︎