Lieber Nico,
das ist tatsächlich PHP (sorry für falsche Kategorie...). Vielen Dank für Deinen Vorschlag. Er hätte sicherlich funktioniert. Wahrscheinlich ist er sogar performanter als meine inzwischen selbst gefundene Lösung.
Meine Lösung:
$homepage = preg_replace("/(?i)^(?:http://)?([^ ]*)/?$/", "http://\1/", $_POST['homepage']);
Der "Trick" war wohl das Suchmuster so zu modifizieren, dass Anfang und Ende des möglichen Strings mit einbezogen sind. Damit kann am Ende nix mehr kommen, das man eventuell auch (weil match) ersetzen könnte.
Liebe Grüße aus Ellwangen,
Felix Riesterer.