[PHP] Frage - eval()

chrissel

Woohooo!
ID: 211634
L
20 April 2006
4.489
472
Ich teste gerade ein wenig mit eval() rum.
Nun habe ich folgendes Script:

PHP:
<?php
$site = 'HTML<?php echo "Text.."; ?> ein anderer Text nach "Text"<br />
5 + 10 = <?php $result = 5+10; echo $result; ?>';

echo "<strong>1:</strong> ";
eval ($site);
echo "<br /><strong>2:</strong> ";
eval ('?>'.$site);
echo "<br /><strong>3:</strong> ";
eval ('?>'.$site.'<?');
echo "<br /><strong>4:</strong> ";
eval ('?>'.$site.'<?php');
?>

Ausgabe im Browser:

-------------------

1:
2: HTMLText.. ein anderer Text nach "Text"
5 + 10 = 15
3: HTMLText.. ein anderer Text nach "Text"
5 + 10 = 15
4:

-------------------

Daraus folgere ich das, wenn man sein Code mit HTML anfängt, vorher ?> schreiben muss.
Warum kann man denn nun am Ende <? oder garnichts schreiben? und <?php geht nicht?
Laut meinem Code ist man ja am Ende wieder in HTML drin, und ich muss ja wieder zum weiteren Verlauf in PHP rein"gehen".

EDIT:
Und wie bekommt man es hin wenn im Code ein <?xml vorkommt das er dieses ignoriert?

EDIT2:
Oder ratet ihr mir ganz von eval() ab? Evtl. zu unsicher?
 
Zuletzt bearbeitet: