Autor |
Nachricht |
beeviZ
Threadersteller
Dabei seit: 30.09.2002
Ort: -
Alter: -
Geschlecht:
|
Verfasst Di 04.10.2005 03:54
Titel [php] ob_start() und php ausführen? |
|
|
Nabend.
Hab n Konstrukt in dem Stil:
Code: | ob_start();
$template = ob_get_contents();
include($templatefile);
$get_text = mysql_query("SELECT irgendwas irgendwoher");
while($text = mysql_fetch_assoc($get_text)) {
$template = str_replace('{{textblock}}','<div>'.nl2br($text['text']).'</div>'."\n", $template);
}
ob_end_clean();
echo $template; |
so. son kleines mini templatesystem hatte ich vor damit zu bauen. klappt auch wunderbar.
allerdings soll in $text['text']; auch wieder php code drin vorkommen dürfen. Ist aber nun so, wenn das der Fall ist, wird der phpcode so wie er in der DB liegt in den quelltext geschrieben und nicht ausgeführt. ganz komische sache. Hab ich da irgendwie ne Chance das der doch ausgeführt wird?
Evtl mit preg_match nach <? und ?> suchen und alles dadrin mit eval() ausführen? Wär echt mal schnieke wenn dat ginge und mir jemand sagen könnte wie.
|
|
|
|
|
dastef
Dabei seit: 03.11.2003
Ort: -
Alter: -
Geschlecht:
|
Verfasst Di 04.10.2005 09:09
Titel
|
|
|
ja genau so wie du gesagst hast .. entweder mit preg_match()
oder anderen sachen erkennen ob - und wenn ja eval().
zwar selber noch nie gemacht, und hoffentlich auch nie in die
verlegen kommen, aber dagegen spricht auf jeden fall nicht viel.
Zuletzt bearbeitet von dastef am Di 04.10.2005 09:12, insgesamt 1-mal bearbeitet
|
|
|
|
|
Anzeige
|
|
|
Cojote
Dabei seit: 02.09.2005
Ort: -
Alter: -
Geschlecht:
|
Verfasst Di 04.10.2005 16:07
Titel
|
|
|
Genau so funktionierts auch. Mit nem regulären Ausdruck alles zwischen <?php und ?> rausziehen mit eval ausführen und das Ergebnis anschließend durch den Code ersetzen.
Geht alles sehr gut mit preg_replace.
Zu beachten ist dass eval n eher langsamer Zeitgenosse ist und es sehr unsauber ist Logik (also PHP-Code) mit reinen Daten zu vermischen.
Funktionieren tuts aber trotzdem.
|
|
|
|
|
gtz
Dabei seit: 15.04.2002
Ort: -
Alter: 48
Geschlecht:
|
Verfasst Di 04.10.2005 16:20
Titel
|
|
|
Zitat: |
Keep the following Quote in mind:
If eval() is the answer, you're almost certainly asking the
wrong question. -- Rasmus Lerdorf, BDFL of PHP
|
|
|
|
|
|
kaputt
Dabei seit: 08.05.2003
Ort: -
Alter: -
Geschlecht:
|
Verfasst Di 04.10.2005 16:23
Titel
|
|
|
gtz hat geschrieben: | Zitat: |
Keep the following Quote in mind:
If eval() is the answer, you're almost certainly asking the
wrong question. -- Rasmus Lerdorf, BDFL of PHP
|
|
Saugeil! Merk' ich mir.
|
|
|
|
|
|
|
|
Ähnliche Themen |
Per Befehl JS nur in IE ausführen?
php offline ausführen
Jar Datei ausführen
php5 ausführen mit _.htaccess
Script nur einmal ausführen
setTimeout ausführen bei mouseover
|
|