Hallo Leute,
ich hab hier ein problem mit dem ersetzen von Variablen -in- Variablen.
Beispiel:
Ich möchte also nun in $var das $test durch die Variable $test (also ihren inhalt) ersetzen... hab nur leider keine Idee, wie ich das machen könnte.
Hab schon an RegExp gedacht (dann statt $test natürlich {$test} in dem String, ums leichter matchen zu können), allerdings funktioniert das nich ganz:
1. Matcht der RegExp den ganzen String ab dem ersten {$var}, also "{$var} lalaa". Ist nicht ganz was ich erreichen wollte (ich bin nochn Newbie im Bereich RegExp)
2. Bringt eval() nen fehler :
Warning: Unexpected character in input: '\\' (ASCII=92) state=1 in *******\index.php(94) : eval()'d code on line 1
Und weils ja noch nich reicht noch ein Parse-Error:
Parse error: parse error, unexpected T_LNUMBER, expecting T_VARIABLE or '$' in *******\index.php(94) : eval()'d code on line 1
Wäre schön, wenn mir jemand helfen könnte
Am besten wäre natürlich ne lösung ohne RegExp, aber mir fällt im Moment einfach nichts ein... ich glaub ich steh' aufm Schlauch
Dankeschön schonmal im Voraus
Grüße
fox
PS: Ist irgendwie blöd, dass man alle \ innerhalb von [.php][./php] 2x schreiben muss, damit sie angezeigt werden...
Neuere Forenversion? *fg*
ich hab hier ein problem mit dem ersetzen von Variablen -in- Variablen.
Beispiel:
PHP-Code:
<?php
$test = "Text";
# $var kommt eigentlich aus der Datenbank
$var = 'dumdidum $test blubb';
Hab schon an RegExp gedacht (dann statt $test natürlich {$test} in dem String, ums leichter matchen zu können), allerdings funktioniert das nich ganz:
PHP-Code:
<?php
$var = "Text";
$text = 'Dumdidum {$var} lalaa';
$erg = preg_replace("/\\{(.*)\\}/is",eval('return $\\1'),$text);
# Kann sein, dass hier ein fehler drin ist,hab ich nur schnell (frei) geschrieben
?>
2. Bringt eval() nen fehler :
Warning: Unexpected character in input: '\\' (ASCII=92) state=1 in *******\index.php(94) : eval()'d code on line 1
Und weils ja noch nich reicht noch ein Parse-Error:
Parse error: parse error, unexpected T_LNUMBER, expecting T_VARIABLE or '$' in *******\index.php(94) : eval()'d code on line 1
Wäre schön, wenn mir jemand helfen könnte
Am besten wäre natürlich ne lösung ohne RegExp, aber mir fällt im Moment einfach nichts ein... ich glaub ich steh' aufm Schlauch
Dankeschön schonmal im Voraus
Grüße
fox
PS: Ist irgendwie blöd, dass man alle \ innerhalb von [.php][./php] 2x schreiben muss, damit sie angezeigt werden...
Neuere Forenversion? *fg*
Kommentar