In PHP versuche ich den Pfad einer URL mit Regex zu validieren. Die aktuelle Regex, die ich getestet habe, ist diese: ^(\/\w+)+\.\w+(\?(\w+=[\w\d]+(&\w+=[\w\d]+)+)+)*$
Überprüfen Sie den Pfad einer URL in PHP
public function isValidPath($urlPath)
{
if (!preg_match("#^(\/\w+)+\.\w+(\?(\w+=[\w\d]+(&\w+=[\w\d]+)+)+)*$#i", $urlPath)) { return false; }
else { return true; }
}
$arrUrl = parse_url($url);
$urlPath = $arrUrl['path'];
// valid path ?
if(isValidPath($urlPath)) { echo "OK"; }
else { echo "Invalid Path URL"; }
Aber es funktioniert nicht mit Pfad, der nur mit /
starten.
Ich bin kein Regex-Experte und breche mir den Kopf, wenn ich versuche, einen zu tun, der sehr einfach zu sein scheint.
suchen Sie, ob eine Datei/Seite tatsächlich auf der URL vorhanden ist? – cmorrissey
'filter_var ('http://nothing.com'. $ UrlPath, FILTER_VALIDATE_URL)' validiert die URL – cmorrissey
@cmorrissey 'FILTER_VALIDATE_URL' funktioniert nicht mit diesem Beispiel' http://somesite.com/asd/asd. jsp & bar = baz? inga = 42? quux' - https://ideone.com/BRHXpU –