| Autor |
Nachricht |
beeviZ
Threadersteller
Dabei seit: 30.09.2002
Ort: Dortmund
Alter: 17
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
Moderator
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
|
|
| |
|
 |
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: 33
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
|
|
|
| |
|
 |
peBBo
Dabei seit: 08.05.2003
Ort: Duisburg
Alter: 26
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 |
Tar mit PHP ausführen, steh ich aufm Schlauch oder was?
[php] serielle schnittstelle & programm ausführen
[PHP] Funktion von anderer Website ausführen-> ohne ausga
[PHP] Was will mir PHP damit sagen?? Hilfe Bitte! Wichtig!
[PHP] Gibts die Variable akt. Zeile des PHP-Codes?
[php] Möglichkeiten php-Ausgaben in html Website einzubauen
|
 |