Una función muy útil que comprueba mediante una expresión regular si una determinada cadena tiene el prefijo «http://», y si no lo tiene se lo añade al comienzo de la cadena.

function insertaHTTP($url) {
    if (!preg_match("~^(?:f|ht)tps?://~i", $url)) {
        $url = "http://" . $url;
    }
    return $url;
}

Ejemplo de uso:

echo insertaHTTP('bufa.es'); // imprime: http://bufa.es
echo insertaHTTP('http://bufa.es'); // imprime: http://bufa.es

Agradezco tu comentario 🤘