7.9. Wie kann ich einen String als PHP-Code ausführen?Antwort von Johannes FrömterMit 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. |
||
7.9. Wie kann ich einen String als PHP-Code ausführen? http://www.php-faq.de/q/q-string-ausfuehren.html |
||
Archiv der de.comp.lang.php-FAQ Dies ist eine Archivseite von 2008 und wurde seitdem nicht geändert. Das dclp-FAQ-Team |