Lo que pasa es que cuando abres una URL externa se ejecuta en el servidor de origen y tu únicamente obtienes lo que se ha procesado, como si la abrieras directamente desde el navegador.
No es muy inteligente cargar tus scripts que tienes localmente haciendo uso de file_get_contents() y/o su respectiva URL, que a pesar de que si funciona, es de lo peor que puedes hacer.
¿O no te parece algo ridículo darle tanta vuelta cuando tienes el código a la mano?
Para eso es include/require, ahora, para capturar lo que resulte sin que se imprima en pantalla y para poderlo almacenar en una variable debes hacer uso del
buffering de PHP, no más.
Consulta el manual.
http://php.net/ob_start http://php.net/ob_get_clean