No es posible proteger el código HTML de la visualización de tu sitio web, esto debido a que este mismo lenguaje es el que interpreta el navegador.
Por otro lado sí es posible cifrar los datos de PHP y proteger funciones de PHP, para ello revisa Ioncube y Zend, en todo caso si bien el código PHP no es visible, ten en cuenta que el código en HTML siempre tiene que serlo.