Variable wird nicht interpretiert
Andi
- php
Hi,
ich lasse in einer Textbox Html eingeben welches Variablen enthalten kann:
Hallo hier steht mein $name und meine Homepage zeigt auf <a href="$link/meinehomepage">Meine Homepage</a>
danach möchte ich diese Anweisung parsen, sprich die Variablen in den tatsächlichen Inhalt umtauschen.
Normalerweise müßte wohl die Ausgabe des Textes reichen oder?
Aber php interpretiert mir diesen Text nicht.
Kann mir da jemand helfen?
Gruß
Andi
hi,
Hallo hier steht mein $name und meine Homepage zeigt auf <a href="$link/meinehomepage">Meine Homepage</a>
danach möchte ich diese Anweisung parsen, sprich die Variablen in den tatsächlichen Inhalt umtauschen.
Normalerweise müßte wohl die Ausgabe des Textes reichen oder?
nein, natürlich nicht.
$variable = "text mit $variable drin";
im script selber notiert, ist etwas anderes, als eine per POST/GET übergeben zeichenkette.
Aber php interpretiert mir diesen Text nicht.
hat auch nie jemand behauptet, dass es das soll/will.
du wirst dir wohl selber eine möglichkeit, den text auf ggf. enthaltene variablennamen zu durchsuchen und diese bei vorhandensein durch ihren wert zu ersetzen, entwickeln müssen.
gruß,
wahsaga
Hi,
nein das war nicht so gemeint. Ich speichere den Text ab und hole ihn dann per XML raus und da müßte mir php das doch interpretieren oder?
Gruß
Andi
hi,
nein das war nicht so gemeint. Ich speichere den Text ab und hole ihn dann per XML raus und da müßte mir php das doch interpretieren oder?
_warum_ _sollte_ _es_?
text ist text, und programmcode ist programmcode.
in letzterem werden variablen und befehle interpretiert.
gruß,
wahsaga
Hi,
hast du dann einen anderen Vorschlag, wie sich das lösen läßt?
Gruß
Andi
Hi,
probiere mal "Dies ist ein Test mit %s"
und benutze sprintf zur Ausgabe.
http://www.php.net/manual/de/function.sprintf.php
Gruesse, Joachim
ich lasse in einer Textbox Html eingeben welches Variablen enthalten kann:
Hallo hier steht mein $name und meine Homepage zeigt auf <a href="$link/meinehomepage">Meine Homepage</a>
<dreinschau ausdruck="verwirrt">Aha.</dreinschau>
danach möchte ich diese Anweisung parsen, sprich die Variablen in den tatsächlichen Inhalt umtauschen.
Normalerweise müßte wohl die Ausgabe des Textes reichen oder?
Dann hast Du den Text zum Browser geschickt.
Aber php interpretiert mir diesen Text nicht.
Geht schlecht, PHP weilt ja noch auf dem Server.
Ich weiß nicht, was Du mit dieser Funktion vor hast, aber ich rate Dir eindringlich davon ab, eine Möglichkeit, mit der man PHP dazu bringt, den Inhalt eines Textfeldes auszuführen, zu nutzen. Statt '$name="bla";' kann man damit genauso gut '$f = fopen("riesig","w"); while (true) fwrite($f, " ");' ausführen. Oder ein PHP-Skript eintippen, mit dem sich in Deinem Namen fünf Millionen Spammails absetzen lassen.
Wenn Du beliebige Variablen eines Skriptes mit einem Textfeld setzen willst, dann gebe ein Format vor, etwa so:
variable=bla bla bla
Und bearbeite dies von Hand, sprich Zeile für Zeile das erste Gleichheitszeichen suchen, den davor stehenden Teil als Variablennamen nehmen und den hinteren als Daten. Trage diese Variablen in ein Array ein, damit sie nicht die Umgebung Deines Skriptes verschmutzen oder skripteigene Variablen überschreiben:
$vars = Array();
foreach ($_POST["textfeld"] as $zeile) { // Zeile für Zeile
$v = explode("=", $zeile, 2); // Zeile an erstem = auftrennen
if (sizeof($v) = 2) { // Trennung in zwei Teile geglückt?
$vars[$v[0]] = $v[1]; // Daten speichern
}
}
Aus dem Finger geschüttelt, Fehler darfst Du behalten.
Hi,
Normalerweise müßte wohl die Ausgabe des Textes reichen oder?
Leider nicht
»»Ich weiß nicht, was Du mit dieser Funktion vor hast, aber ich rate Dir eindringlich davon ab, eine Möglichkeit, mit der man PHP dazu bringt, den Inhalt eines Textfeldes auszuführen, zu nutzen. Statt '$name="bla";' kann man damit genauso gut '$f = fopen("riesig","w"); while (true) fwrite($f, " ");' ausführen. Oder ein PHP-Skript eintippen, mit dem sich in Deinem Namen fünf Millionen Spammails absetzen lassen.
Verstehe dich schon, aber da haben nur authorisierte Benutzer zugriff und die Variablen, die die Benutzer verwenden dürfen sind beschränkt
Gruß
Andi
hi,
Verstehe dich schon, aber da haben nur authorisierte Benutzer zugriff und die Variablen, die die Benutzer verwenden dürfen sind beschränkt
_wodurch_ sind die beschränkt?
und _wenn_ es eine definierte menge an zulässigen variablen gibt, sollte es ja auch kein großes problem sein, das parsen selbst durchzuführen. vermutlich dürfte str_replace() dazu ja schon ausreichen.
gruß,
wahsaga