Ich würde gerne eine URL so testen, das sie nach dem Vorgang auch noch den gleichen Anfang hat. Also aus www.example.com oder example.com soll immer http://www.example.com werden.
Wenn aus example.com http://www.example.com wird, hat sie nicht mehr den gleichen Anfang. Du scheinst dir zu widersprechen.
Jetzt habe ich mit der Filterfunktion von PHP FILTER_VALIDATE_URL die URL getestet. Aber hier geht sie nur durch wenn Sie die Vorzeichen http://www. vorne hat.
Mit www. oder ganz ohne geht sie nicht durch.
Ich vermute eher, sie geht nicht durch, weil die Protokollangabe fehlt. Klemme http:// davor, falls es fehlt.