Bio: PHP - Regulärer Ausdruck - URL Syntax prüfen

Beitrag lesen

Sup!

$extra          =  '(?:[!*'(),])';
$urlpath        =  "(?:$xchar*)";
$user           =  "(?:(?:".$uchar."[;?&=])*)"; //"(?:(?:$uchar[;?&=])*)";
$password       =  "(?:(?:".$uchar."[;?&=])*)";

"(?:(?:$alpha(?:$alphadigit-)*$alphadigit)$alpha)";

$domainlabel    =  "(?:(?:$alphadigit(?:$alphadigit-)*$alphadigit)$alphadigit)";
$hostname       =  "(?:(?:$domainlabel\.)*$toplabel)";
$schemepart     =  "(?:$xchar*$ip_schemepart)";
$fsegment       =  "(?:(?:".$uchar."[?:@&=])*)";
$fpath          =  "(?:$fsegment(?:/$fsegment)*)";
$httpuchar      =  "(?:(?:$alpha$digit$safe(?:[!*',]))$escape)";
$hsegment       =  "(?:(?:".$httpuchar."[;:@&=~])*)";
$search         =  "(?:(?:".$httpuchar."[;:@&=~])*)";
$hpath          =  "(?:$hsegment(?:/$hsegment)*)";
$gopher_plus    =  "(?:$xchar*)";
$selector       =  "(?:$xchar*)";
$group          =  "(?:$alpha(?:".$alpha.$digit."[.+_-])*)";
$grouppart      =  "(?:$article$group\*)";
$wpath          =  "(?:$uchar*)";
$wtype          =  "(?:$uchar*)";
$database       =  "(?:$uchar*)";
$ppath          =  "(?:$psegment(?:/$psegment)*)";
$prosperourl    =  "(?:prospero://$hostport/$ppath(?:$fieldspec)*)";

Eine von den Zeilen ist falsch - irgendwo muß das "*" in der Fehlermeldung ja herkommen ;-)

$url            =  "$httpurl$ftpurl$newsurl$nntpurl$telneturl$gopherurl$waisurl$mailtourl$fileurl$prosperourl";

Fehlen da nicht ein paar | (oder) ?

$check = preg_match("!$url!", $HTTP_GET_VARS["test"]);

Vielleicht liegt's auch daran, daß PHP nicht Perl ist?

Gruesse,

Bio

--
Ich bin ein Mobber - mein Posting tut mir leid! EHRLICH!!!
sh:( fo:) ch:] rl:} br:> n4:& ie:{ mo:) va:) de:] zu:) fl:( ss:) ls:]