In einer Variable eines Datenbankeintrages ist ein

F

Friedrich

Guest
Hallo,

in meiner Datenbank speichere ich manchmal Texte, in denen auch Variablen drinne stehen. Zum Beispiel:

"Dies ist ein Text und hier eine $variable."

Dabei soll nicht ausgegeben werden "Dies ist ein Text und hier eine $variable.", sondern: "Dies ist ein Text und hier eine Blume.".

Bei mir gibt er immer $variable aus, nicht den Inhalt der Variable, den ich zuvor in PHP niedergeschrieben habe.

Gibt es eine Möglichkeit, die Variable in einer anderen Variable richtig auszugeben?

Friedrich
 
QUOTE (Friedrich @ Fr 16.9.2005, 17:48)[...]
Dabei soll nicht ausgegeben werden "Dies ist ein Text und hier eine $variable.", sondern: "Dies ist ein Text und hier eine Blume.".
[...]

Hallo,


wie sieht denn dein Code aus?

Soweit ich verstanden habe, sollte es so funktionieren:


CODE $string = "Dies ist ein Text und hier eine $variable.";
mysql_query('insert into table (text) values( \''. mysql_escape_string($string) . '\'');





MfG Sascha Ahlers
 
Soweit ich weiss, funktioniert das nicht, weil PHP Texte/Strings aus einer Datenbank nicht parst!

entweder, du parst diese selber mit "replace" oder expressions wenn es mehrere sind oder du schickst den text aus der Datenbank durch den parser, dafür weiss ich aber die Befehle nicht, sollte wohl irgendetwas mit "execute" oder so sein!

viel glück, einer wird die genauen Befehle sicher kennen!
 
Das ist nicht optimal. Du kannst einen String, welcher PHP enthält mit eval parsen.

Ich würde wie folgt bescheissen:
QUOTE echo eval("return \"".$mysqlhandler->field."\";");


Das ist nicht gut. Entweder speichere also den Text welcher Variablen enthält als korrekten PHP Code, z.B.


QUOTE 'return "dein Text und $deineVar";'


oder (wenn Du nur Variablen auflösen willst) wende einen preg_replace an. Dann würde ich die Variabel aber nicht in der Form $var, sondern <!! var !!> oä speichern.
 
Zurück
Oben