phpbar.de logo

Mailinglisten-Archive

[php] Expertenfrage: include aus Datenbank / preg_replace

[php] Expertenfrage: include aus Datenbank / preg_replace

Henning Jödden php_(at)_phpcenter.de
Wed, 16 May 2001 11:50:10 +0200


> 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