Okay, ich hatte eh direkt nen Fehler in der Angabe für die Unterverzeichnisse. Ich geb mal gekürzten Code an:
-----------------------------------------------------------------------
function check_URL($url) {
$protocol = '(?:http://)';
$domain_main = '[a-zA-Z0-9][a-zA-Z0-9._-]*\.';
$domain_sub = '(?:[a-zA-Z0-9][a-zA-Z0-9._-]*\.)*';
$laenderkrzl = '[a-zA-Z]{2,5}';
$unterverz = '(?:/[^\\/:\*?"<>|]*)*';
$rest = '(?:/[a-zA-Z0-9_%,.=?-#]*)*';
$ende = '(?:/)';
$domain = "$domain_main$domain_sub$laenderkrzl$unterverz$rest$ende";
$regExp = "$protocol$domain";
echo "<span style="font-size:150%">".$regExp."</span><br>";
return preg_match("/^$regExp$/",$url);
}
if (check_URL("http://forum.de.selfhtml.org/?t=104217&m=642340#antworten") echo "korrekte URL!";
-----------------------------------------------------------------------