Exacto, como dices al no introducir el http:// el navegador cree que estás buscando en la misma página y por eso no visita una página externa.
La solución de @NUCKLEAR te debería de funcionar perfectamente.
También puedes usar
parse_url() con el componente PHP_URL_SCHEME. Sino existe el http:// devolverá NULL.