dclp FAQ

FAQ der Newsgroups de.comp.lang.php.*

 
  • Increase font size
  • Default font size
  • Decrease font size

Stringfunktionen

Wie kann ich einen String als PHP-Code ausführen?

E-MailDruckenPDFLesezeichen anlegen: Du musst dich einloggen um ein Lesezeichen für diesen Beitrag anzulegen. Es wird deiner persönlichen Lesezeichenliste hinzugefügt.

Mit der Funktion eval() kann man PHP-Code, der in einer Variablen als String vorliegt, ausführen lassen. eval() schaltet direkt in den PHP-Modus, d. h. PI-Tags (processing instructions, üblicherweise <?php und ?>) müssen im String nicht enthalten sein. Der String darf aber PIs enthalten, um vom PHP- in den HTML-Modus (und zurück) zu wechseln; beginnt der String mit HTML, so ist zuerst ein schließender PI-Tag nötig:

$html_php_mix = '<h1> <?php echo "GROSS"; ?> </h1>';
eval("?> $html_php_mix <?php ");

Der öffnende PI-Tag zum Schluss ist nicht unbedingt notwendig - wenn man ihn schreibt, dann allerdings ist das Leerzeichen danach wichtig. Alle PHP-Anweisungen müssen korrekt mit einem Semikolon beendet werden (in normalem PHP-Code darf das Semikolon nach der letzten Anweisung fehlen).

Achtung: Der Funktion eval() darf man nur absolut vertrauenswürdigen Code übergeben; Code aus unbekannter Quelle kann äußerst gefährliche Befehle wie z.B. unlink($_SERVER['PHP_SELF']), mysql_drop_db() oder system() enthalten und großen Schaden anrichten.

Wie kann ich einen String als PHP-Code ausführen?
http://www.php-faq.de/q-string-ausfuehren.html
 

Login