Hi,
$pattern = ("/^http:///i");
Ich kenn mich mit dem PHP nicht aus, deshalb kann es sein, das ich mich irre, aber ich würde mal vermuten, das das eine Substitution ist, die irgendwo anders dann zum Einsatz kommen soll (so wärs zumindest in Perl, kann sein, das das in PHP anders ist).
Wenn ja, dann werden die / bereits hier interpoliert und bei der Substitution kommt nur noch /^http:///i an, was ja nicht funktionieren dürfte. Ich würde probieren, $pattern = ("/^http:\/\//i"); zu schreiben, oder (wenn das in PHP unterstützt wird) das ganze in Hochkommas ('/^http:///i') zu setzen.
mfg. Maik