Regulärer Ausdruck: URL prüfen

Hallo ich habe auch versucht das Teil einzubauen, aber bekomme weiterhin den Fehler:

int(0)
Warning: preg_match() [function.preg-match]: Compilation failed: nothing to repeat at offset 0

So sieht es bei mir aus:
PHP:
if ( $url ) {
		$url_info = parse_url($url); 
		if (!isset($url_info['scheme'])) 
		$url = 'http://'.$url;	
	
		$pattern = "(?:https?://(?:(?:(?:(?:(?:[a-zA-Z\d](?:(?:[a-zA-Z\d]|-)*[a-zA-Z\d])?)\.)*(?:[a-zA-Z](?:(?:[a-zA-Z\d]|-)*[a-zA-Z\d])?))|(?:(?:\d+)(?:\.(?:\d+)){3}))(?::(?:\d+))?)(?:/(?:(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[;:@&=])*)(?:/(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[;:@&=])*))*)(?:\?(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[;:@&=])*))?)?)"; 
		var_dump( preg_match('/^'.addcslashes($pattern, '/').'$/', trim($string)) ); 

		if(preg_match($pattern,$url,$matches)) { 
		  //print_r($matches); 
		} else $error = "Ihre ShopURL darf nur aus Buchstaben, Zahlen und folgende Sonderzeichen (// : .) bestehen!"; 
	} else 	$error = "Bitte tragen Sie eine ShopURL ein!";
 
Zurück