puoi fare una ciclo che, dopo aver letto il contenuto del file PHP e averlo memorizzato in una variabile ($stringa_file), cerca la posizione della stringa <? con la funzione strpos() e poi cerca la posizione della chiusura ?>

poi con substr() estrai la parte di testo che ti serve:

http://it2.php.net/manual/it/function.strpos.php
http://it2.php.net/manual/it/function.substr.php

ad occhio, qualcosa tipo:

Codice PHP:
$php_array = array();
$can_exit = false;
do {
   $pos1 = strpos($stringa_file, '<?');
   $pos2 = strpos($stringa_file, '
?>');
   if (!empty($pos1) && $pos2>$pos1)
      $php_array[] = substr($stringa_file, $pos1, $pos2-$pos1);
   else
      $can_exit = true;
} while (!$can_exit);
a questo punto $php_array dovrebbe contenere tutto il codice PHP.
non l'ho testato, fammi sapere se va.