Mailinglisten-Archive |
> Hallo Liste, Hallo Laura, > habe mich lange nicht gemeldet, da ich mit einem Lingo-Projekt > beschäftigt war. Wer Lingo kennt, weiß was er an PHP hat. Stimmt :! > Ich möchte in eine Datenbank einen PHP-Code schreiben und diesen dann in > einer anderen PHP-Datei nutzen. Wieso benutzt Du nicht Files ??? ist doch irgendwie logischer oder ? > Nun besteht dieser PHP-Code aber - wie bei einer include-Datei - aus > HTML- und PHP-Elementen, etwa so: > > foo<p> > <?PHP echo("bla"); ?><p> > bar > > Damit wäre das Ganze für eval() nicht mehr verdaulich. Also habe ich mir > folgenden Hack ausgedacht (das "strtoupper()" ist hier Blödsinn - es > steht für eine andere Funktion, die ich haben will): > > $einString='foo<p><?PHP echo("bla"); ?><p>bar'; > $einString="echo('".preg_replace("#<\?(PHP)?(.*?)\?>#ie", > "'\'); '.strtoupper('\\2').' echo(\''", $einString)."');"; > echo($einString); Also bei mir wird alles was in doppel-quotes steht als String ausgewertet, also ein $string = "echo ('foo <p>'); echo('bla'); echo('<p> bar')"; ist für eval() kein Thema. Du soltest allerdings die <?php ?> weglassen, da Du diese ja wahrscheinlich schon offen hast wenn Du eval() benutzt. Und das gibt dann `n netten "parse error in unknown on line 0" :) Die slashes werden automatisch vor Sonderzeichen gesetzt wenn Du magic_quotes_wasweißich in deiner php.ini aktiviert hast. Die Datenbank braucht das um Sonderzeichen als solche zu erkennen. > 1000 Dank > > Laura Gruß Henning
php::bar PHP Wiki - Listenarchive