Hiho,
nicht mal
$html = eval("?>".$code);
Wie soll da auch funktionieren? Wie du sicher weisst beginnt gültiger PHP Code mit einem "<?php" und endet mit "?>". Was soll denn da ausgeführt werden, wenn die ersten beiden zeichen mit denen du eval fütterst gleich aussagen "hier ist der Code zuende"?
Abgesehen davon kannst du das Ergebniss von eval nicht (ohne weiteres) in eine Variable speichern. Wenn du in deinem Code ein echo hast wird das von eval ganz normal ausgeführt und direkt ausgegeben. Wenn du $html einen Wert zuweisen willst musst du in deinem eval-Code halt schreiben
eval("<?php $html = 'Hallo' ?>");
Alternativ kannst du dir auch noch mal [1] durchlesen. Damit kannst du die Ausgabe des eval() Codes abfangen und danach in eine Variable quetschen.
Marc