Julian Hofmann: Reg. Ausdruck mit "~"?

Beitrag lesen

Hallo liebes Forum,

achja, wie liiiiebe ich doch reguläre Ausdrücke. Am Wochenende habe ich mich lange damit befasst und auch einiges geschafft, an einer Stelle hänge ich aber jetzt:
Ich möchte eine URL auf Syntaktische Korrektheit prüfen. Mit
if(!ereg("^http://([a-zA-Z0-9-]{2,}.)*[a-zA-Z]{2,3}((/[_a-zA-Z0-9-]+)*(.[_a-zA-Z0-9-]+)*)*$",$url)) { echo "falsch!"; }
erhalte ich auch wunderbar fehlerhafte URLs.
Leider ist hier aber nicht berücksichtigt, daß der Verzeichnisname natürlich auch ein "~" enthalten darf. Erweitere ich aber die letzten beiden Teile jeweils auf [_a-zA-Z0-9-~] bekomme ich ebenso einen Fehler wie bei [_a-zA-Z0-9-~].

Irgendwer eine Ahnung, wo hier der Fehler ist, bzw. wie es möglich ist auch ein "~" zu erlauben?

Grüße aus Köln
Julian