mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 19.04.2024 05:42 Benutzername: Passwort: Auto-Login

Thema: [php] ob_start() und php ausführen? vom 04.10.2005


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [php] ob_start() und php ausführen?
Autor Nachricht
beeviZ
Threadersteller

Dabei seit: 30.09.2002
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Di 04.10.2005 03:54
Titel

[php] ob_start() und php ausführen?

Antworten mit Zitat Zum Seitenanfang

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. Lächel
  View user's profile Private Nachricht senden
dastef

Dabei seit: 03.11.2003
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Di 04.10.2005 09:09
Titel

Antworten mit Zitat Zum Seitenanfang

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. Grins


Zuletzt bearbeitet von dastef am Di 04.10.2005 09:12, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
Anzeige
Anzeige
Cojote

Dabei seit: 02.09.2005
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Di 04.10.2005 16:07
Titel

Antworten mit Zitat Zum Seitenanfang

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.
  View user's profile Private Nachricht senden
gtz

Dabei seit: 15.04.2002
Ort: -
Alter: 48
Geschlecht: Männlich
Verfasst Di 04.10.2005 16:20
Titel

Antworten mit Zitat Zum Seitenanfang

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
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
kaputt

Dabei seit: 08.05.2003
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Di 04.10.2005 16:23
Titel

Antworten mit Zitat Zum Seitenanfang

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! *ha ha* Merk' ich mir.
  View user's profile Private Nachricht senden
 
Ä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
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.